5 unstable releases
new 0.3.2 | Jan 4, 2025 |
---|---|
0.3.1 | Jan 4, 2025 |
0.3.0 | Jan 4, 2025 |
0.2.0 | Jan 4, 2025 |
0.1.1 | Jan 4, 2025 |
#633 in Web programming
474 downloads per month
Used in 4 crates
(via cubix)
74KB
1.5K
SLoC
api-errtype
API error code types definition based on api-response.
Error Code Types
Code Type Flag | Code Type Name | Chinese Description | English Description | Notes |
---|---|---|---|---|
1000 |
ET_USER |
用户端错误 | User Error | Primary macroscopic error code |
1001 |
ET_USER_EQPT |
用户设备异常 | User Equipment Error | Secondary macroscopic error code |
1002 |
ET_USER_CAMERA |
用户相机异常 | User Camera Error | Specific case under user equipment error |
1003 |
ET_USER_MIC |
用户麦克风异常 | User Microphone Error | Specific case under user equipment error |
1004 |
ET_USER_EARPIECE |
用户听筒异常 | User Earpiece Error | Specific case under user equipment error |
1005 |
ET_USER_SPEAKER |
用户扬声器异常 | User Speaker Error | Specific case under user equipment error |
1006 |
ET_USER_GPS |
用户GPS定位异常 | User GPS Error | Specific case under user equipment error |
2000 |
ET_BIZ_SERV |
业务服务错误 | Business Service Error | Primary macroscopic error code |
2001 |
ET_USER_REG |
用户注册错误 | User Registration Error | Secondary macroscopic error code |
2002 |
ET_USER_PRIV_POLICY |
用户未同意隐私协议 | User Did Not Agree To Privacy Policy | Specific case under user registration error |
2003 |
ET_REG_RESTR |
注册国家或地区受限 | Registration Country or Region Restricted | Specific case under user registration error |
2004 |
ET_USERNAME_VERIF_FAIL |
用户名校验失败 | Username Verification Failed | Specific case under user registration error |
2005 |
ET_USERNAME_EXISTS |
用户名已存在 | Username Already Exists | Specific case under user registration error |
2006 |
ET_USERNAME_SENSITIVE_WD |
用户名包含敏感词 | Username Contains Sensitive Words | Specific case under user registration error |
2007 |
ET_USERNAME_SPEC_CHARS |
用户名包含特殊字符 | Username Contains Special Characters | Specific case under user registration error |
2008 |
ET_PWD_VERIF_FAIL |
密码校验失败 | Password Verification Failed | Specific case under user registration error |
2009 |
ET_PWD_TOO_SHORT |
密码长度不够 | Password Too Short | Specific case under user registration error |
2010 |
ET_PWD_STRENGTH_INSUFF |
密码强度不够 | Password Strength Insufficient | Specific case under user registration error |
2011 |
ET_VERIF_CODE |
校验码输入错误 | Verification Code Error | Specific case under user registration error |
2012 |
ET_SMS_VERIF_CODE |
短信校验码输入错误 | SMS Verification Code Error | Specific case under verification code error |
2013 |
ET_EMAIL_VERIF_CODE |
邮件校验码输入错误 | Email Verification Code Error | Specific case under verification code error |
2014 |
ET_VOICE_VERIF_CODE |
语音校验码输入错误 | Voice Verification Code Error | Specific case under verification code error |
2015 |
ET_USER_DOC |
用户证件异常 | User Document Error | Specific case under user registration error |
2016 |
ET_USER_DOC_TYPE_NOT_SEL |
用户证件类型未选择 | User Document Type Not Selected | Specific case under user document error |
2017 |
ET_MAINLAND_ID_VERIF_ILLEGAL |
大陆身份证编号校验非法 | Mainland ID Number Verification Illegal | Specific case under user document error |
2018 |
ET_PASSPORT_VERIF_ILLEGAL |
护照编号校验非法 | Passport Number Verification Illegal | Specific case under user document error |
2019 |
ET_OFFICER_ID_VERIF_ILLEGAL |
军官证编号校验非法 | Officer ID Number Verification Illegal | Specific case under user document error |
2020 |
ET_USER_BASIC_INFO_VERIF_FAIL |
用户基本信息校验失败 | User Basic Information Verification Failed | Specific case under user registration error |
2021 |
ET_PHONE_VERIF_FAIL |
手机格式校验失败 | Phone Format Verification Failed | Specific case under user basic information verification failed |
2022 |
ET_ADDR_VERIF_FAIL |
地址格式校验失败 | Address Format Verification Failed | Specific case under user basic information verification failed |
2023 |
ET_EMAIL_VERIF_FAIL |
邮箱格式校验失败 | Email Format Verification Failed | Specific case under user basic information verification failed |
2024 |
ET_USER_LOGIN |
用户登录异常 | User Login Error | Secondary macroscopic error code |
2025 |
ET_USER_ACCT_NOT_EXIST |
用户账户不存在 | User Account Does Not Exist | Specific case under user login error |
2026 |
ET_USER_ACCT_FROZEN |
用户账户被冻结 | User Account Frozen | Specific case under user login error |
2027 |
ET_USER_ACCT_INVLD |
用户账户已作废 | User Account Invalidated | Specific case under user login error |
2028 |
ET_USER_PWD |
用户密码错误 | User Password Error | Specific case under user login error |
2029 |
ET_USER_PWD_LIM_EXC |
用户输入密码错误次数超限 | User Exceeded Password Error Limit | Specific case under user password error |
2030 |
ET_USER_IDENT_VERIF_FAIL |
用户身份校验失败 | User Identity Verification Failed | Specific case under user login error |
2031 |
ET_USER_FP_VERIF_FAIL |
用户指纹识别失败 | User Fingerprint Verification Failed | Specific case under user identity verification failed |
2032 |
ET_USER_FACE_RECOG_FAIL |
用户面容识别失败 | User Face Recognition Failed | Specific case under user identity verification failed |
2033 |
ET_3P_LOGIN_AUTHZ_NOT_OBTAINED |
用户未获得第三方登录授权 | User Did Not Obtain Third-Party Login Authorization | Specific case under user identity verification failed |
2034 |
ET_USER_LOGIN_EXP |
用户登录已过期 | User Login Expired | Specific case under user login error |
2035 |
ET_USER_VERIF_CODE |
用户验证码错误 | User Verification Code Error | Specific case under user login error |
2036 |
ET_USER_VERIF_CODE_ATTEMPT_LIM_EXC |
用户验证码尝试次数超限 | User Exceeded Verification Code Attempt Limit | Specific case under user verification code error |
2037 |
ET_ACCESS_AUTHZ |
访问权限异常 | Access Authorization Error | Secondary macroscopic error code |
2038 |
ET_ACCESS_UNAUTHZED |
访问未授权 | Access Unauthorized | Specific case under access authorization error |
2039 |
ET_AUTHZ_IN_PROGRESS |
正在授权中 | Authorization In Progress | Specific case under access authorization error |
2040 |
ET_USER_AUTHZ_APP_REJECTED |
用户授权申请被拒绝 | User Authorization Application Rejected | Specific case under access authorization error |
2041 |
ET_ACCESS_BLOCKED_DUE_TO_PRIV_SET |
因访问对象隐私设置被拦截 | Access Blocked Due To Privacy Settings | Specific case under access authorization error |
2042 |
ET_AUTHZ_EXP |
授权已过期 | Authorization Expired | Specific case under access authorization error |
2043 |
ET_NO_PERM_TO_USE_API |
无权限使用API | No Permission To Use API | Specific case under access authorization error |
2044 |
ET_USER_ACCESS_BLOCKED |
用户访问被拦截 | User Access Blocked | Specific case under access authorization error |
2045 |
ET_BLACKLISTED_USER |
黑名单用户 | Blacklisted User | Specific case under user access blocked |
2046 |
ET_ACCT_FROZEN |
账号被冻结 | Account Frozen | Specific case under user access blocked |
2047 |
ET_ILLEGAL_IP_ADDR |
非法IP地址 | Illegal IP Address | Specific case under user access blocked |
2048 |
ET_GW_ACCESS_RESTR |
网关访问受限 | Gateway Access Restricted | Specific case under user access blocked |
2049 |
ET_REGIONAL_BLACKLIST |
地域黑名单 | Regional Blacklist | Specific case under user access blocked |
2050 |
ET_SERV_OVERDUE |
服务已欠费 | Service Overdue | Specific case under access authorization error |
2051 |
ET_USER_SIGNATURE |
用户签名异常 | User Signature Error | Specific case under access authorization error |
2052 |
ET_RSA_SIGNATURE |
RSA签名错误 | RSA Signature Error | Specific case under user signature error |
2053 |
ET_USER_REQ_PARAM |
用户请求参数错误 | User Request Parameter Error | Secondary macroscopic error code |
2054 |
ET_ILLEGAL_MALICIOUS_LINK |
包含非法恶意跳转链接 | Contains Illegal Malicious Redirect Link | Specific case under user request parameter error |
2055 |
ET_INVALID_USER_INPUT |
无效的用户输入 | Invalid User Input | Specific case under user request parameter error |
2056 |
ET_REQ_PARAM_EMPTY |
请求必填参数为空 | Request Required Parameter Is Empty | Specific case under user request parameter error |
2057 |
ET_USER_ORDER_NUMBER_EMPTY |
用户订单号为空 | User Order Number Is Empty | Specific case under request required parameter is empty |
2058 |
ET_ORDER_QUANTITY_EMPTY |
订购数量为空 | Order Quantity Is Empty | Specific case under request required parameter is empty |
2059 |
ET_MISSING_TS_PARAM |
缺少时间戳参数 | Missing Timestamp Parameter | Specific case under request required parameter is empty |
2060 |
ET_ILLEGAL_TS_PARAM |
非法的时间戳参数 | Illegal Timestamp Parameter | Specific case under request required parameter is empty |
2061 |
ET_PARAM_VAL_EXCD_RANGE |
请求参数值超出允许的范围 | Request Parameter Value Exceeds Allowed Range | Specific case under user request parameter error |
2062 |
ET_PARAM_FMT_MISMATCH |
参数格式不匹配 | Parameter Format Mismatch | Specific case under request parameter value exceeds allowed range |
2063 |
ET_ADDR_OUT_OF_SERV |
地址不在服务范围 | Address Out Of Service Range | Specific case under request parameter value exceeds allowed range |
2064 |
ET_TIME_OUT_OF_SERV |
时间不在服务范围 | Time Out Of Service Range | Specific case under request parameter value exceeds allowed range |
2065 |
ET_AMOUNT_EXCD_LIM |
金额超出限制 | Amount Exceeds Limit | Specific case under request parameter value exceeds allowed range |
2066 |
ET_QUANTITY_EXCD_LIM |
数量超出限制 | Quantity Exceeds Limit | Specific case under request parameter value exceeds allowed range |
2067 |
ET_BATCH_TOTAL_EXCD_LIM |
请求批量处理总个数超出限制 | Request Batch Total Exceeds Limit | Specific case under request parameter value exceeds allowed range |
2068 |
ET_JSON_PARSING_FAIL |
请求JSON解析失败 | Request JSON Parsing Failed | Specific case under user request parameter error |
2069 |
ET_ILLEGAL_USER_INPUT |
用户输入内容非法 | User Input Content Illegal | Specific case under user request parameter error |
2070 |
ET_PROHIB_SENSITIVE_WD |
包含违禁敏感词 | Contains Prohibited Sensitive Words | Specific case under user input content illegal |
2071 |
ET_IMAGE_PROHIB_INFO |
图片包含违禁信息 | Image Contains Prohibited Information | Specific case under user input content illegal |
2072 |
ET_FILE_INFRINGES_COPYRIGHT |
文件侵犯版权 | File Infringes Copyright | Specific case under user input content illegal |
2073 |
ET_USER_OP_ANOMALY |
用户操作异常 | User Operation Anomaly | Secondary macroscopic error code |
2074 |
ET_USER_PAY_TIMEOUT |
用户支付超时 | User Payment Timeout | Specific case under user operation anomaly |
2075 |
ET_ORDER_CONFIRM_TIMEOUT |
确认订单超时 | Order Confirmation Timeout | Specific case under user operation anomaly |
2076 |
ET_ORDER_CLOSED |
订单已关闭 | Order Closed | Specific case under user operation anomaly |
2077 |
ET_USER_REQ_SERV_ANOMALY |
用户请求服务异常 | User Request Service Anomaly | Secondary macroscopic error code |
2078 |
ET_REQ_FREQUENCY_EXCD |
请求次数超出限制 | Request Frequency Exceeded | Specific case under user request service anomaly |
2079 |
ET_REQ_CONCURRENCY_EXCD |
请求并发数超出限制 | Request Concurrency Exceeded | Specific case under user request service anomaly |
2080 |
ET_USER_OP_WAIT |
用户操作请等待 | User Operation Please Wait | Specific case under user request service anomaly |
2081 |
ET_WEBSOCKET_ANOMALY |
WebSocket连接异常 | WebSocket Connection Anomaly | Specific case under user request service anomaly |
2082 |
ET_WEBSOCKET_DISCONN |
WebSocket连接断开 | WebSocket Connection Disconnected | Specific case under user request service anomaly |
2083 |
ET_USER_DUPLICATE_REQ |
用户重复请求 | User Duplicate Request | Specific case under user request service anomaly |
2084 |
ET_USER_RES_ANOMALY |
用户资源异常 | User Resource Anomaly | Secondary macroscopic error code |
2085 |
ET_INSUFF_ACCT_BALANCE |
账户余额不足 | Insufficient Account Balance | Specific case under user resource anomaly |
2086 |
ET_INSUFF_DISK_SPACE |
用户磁盘空间不足 | User Insufficient Disk Space | Specific case under user resource anomaly |
2087 |
ET_INSUFF_MEM |
用户内存空间不足 | User Insufficient Memory Space | Specific case under user resource anomaly |
2088 |
ET_OSS_CAP_INSUFF |
用户OSS容量不足 | User OSS Capacity Insufficient | Specific case under user resource anomaly |
2089 |
ET_QUOTA_EXH |
用户配额已用光 | User Quota Exhausted | Specific case under user resource anomaly |
2090 |
ET_FILE_UPLOAD_ANOMALY |
用户上传文件异常 | User File Upload Anomaly | Secondary macroscopic error code |
2091 |
ET_FILE_TYPE_MISMATCH |
用户上传文件类型不匹配 | User File Upload Type Mismatch | Specific case under user file upload anomaly |
2092 |
ET_FILE_TOO_LARGE |
用户上传文件太大 | User File Upload Too Large | Specific case under user file upload anomaly |
2093 |
ET_IMAGE_TOO_LARGE |
用户上传图片太大 | User Image Upload Too Large | Specific case under user file upload anomaly |
2094 |
ET_VIDEO_TOO_LARGE |
用户上传视频太大 | User Video Upload Too Large | Specific case under user file upload anomaly |
2095 |
ET_COMPR_FILE_TOO_LARGE |
用户上传压缩文件太大 | User Compressed File Upload Too Large | Specific case under user file upload anomaly |
2096 |
ET_CURR_VER_ANOMALY |
用户当前版本异常 | User Current Version Anomaly | Secondary macroscopic error code |
2097 |
ET_VER_INCOMP |
用户安装版本与系统不匹配 | User Installed Version Incompatible With System | Specific case under user current version anomaly |
2098 |
ET_VER_TOO_LOW |
用户安装版本过低 | User Installed Version Too Low | Specific case under user current version anomaly |
2099 |
ET_VER_TOO_HIGH |
用户安装版本过高 | User Installed Version Too High | Specific case under user current version anomaly |
2100 |
ET_VER_EXP |
用户安装版本已过期 | User Installed Version Expired | Specific case under user current version anomaly |
2101 |
ET_API_VER_MISMATCH |
用户API请求版本不匹配 | User API Request Version Mismatch | Specific case under user current version anomaly |
2102 |
ET_API_VER_TOO_HIGH |
用户API请求版本过高 | User API Request Version Too High | Specific case under user current version anomaly |
2103 |
ET_API_VER_TOO_LOW |
用户API请求版本过低 | User API Request Version Too Low | Specific case under user current version anomaly |
2104 |
ET_PRIV_NOT_AUTHZED |
用户隐私未授权 | User Privacy Not Authorized | Secondary macroscopic error code |
2105 |
ET_PRIV_NOT_SIGNED |
用户隐私未签署 | User Privacy Not Signed | Specific case under user privacy not authorized |
2106 |
ET_CAMERA_DEVICE_NOT_AUTHZED |
用户摄像头未授权 | User Camera Device Not Authorized | Specific case under user privacy not authorized |
2107 |
ET_CAMERA_NOT_AUTHZED |
用户相机未授权 | User Camera Not Authorized | Specific case under user privacy not authorized |
2108 |
ET_PHOTO_LIBRARY_NOT_AUTHZED |
用户图片库未授权 | User Photo Library Not Authorized | Specific case under user privacy not authorized |
2109 |
ET_FILE_ACCESS_NOT_AUTHZED |
用户文件未授权 | User Files Not Authorized | Specific case under user privacy not authorized |
2110 |
ET_LOC_NOT_AUTHZED |
用户位置信息未授权 | User Location Information Not Authorized | Specific case under user privacy not authorized |
2111 |
ET_CONTACT_LIST_NOT_AUTHZED |
用户通讯录未授权 | User Contact List Not Authorized | Specific case under user privacy not authorized |
3000 |
ET_SYS_ERR |
系统执行出错 | System Execution Error | Primary macroscopic error code |
3001 |
ET_SYS_TIMEOUT |
系统执行超时 | System Execution Timeout | Secondary macroscopic error code |
3002 |
ET_ORDER_PROC_TIMEOUT |
系统订单处理超时 | System Order Processing Timeout | Specific case under system execution timeout |
3003 |
ET_DISASTER_RECOV_TRIG |
系统容灾功能被触发 | System Disaster Recovery Function Triggered | Secondary macroscopic error code |
3004 |
ET_FLOW_RESTR |
系统限流 | System Flow Restriction | Specific case under system disaster recovery function triggered |
3005 |
ET_FUNC_DOWNGRADED |
系统功能降级 | System Functionality Downgraded | Specific case under system disaster recovery function triggered |
3006 |
ET_SYS_RES_ANOMALY |
系统资源异常 | System Resource Anomaly | Secondary macroscopic error code |
3007 |
ET_RES_EXH |
系统资源耗尽 | System Resources Exhausted | Specific case under system resource anomaly |
3008 |
ET_DISK_SPACE_EXH |
系统磁盘空间耗尽 | System Disk Space Exhausted | Specific case under system resources exhausted |
3009 |
ET_MEM_EXH |
系统内存耗尽 | System Memory Exhausted | Specific case under system resources exhausted |
3010 |
ET_FD_EXH |
文件句柄耗尽 | File Handles Exhausted | Specific case under system resources exhausted |
3011 |
ET_CONNION_POOL_EXH |
系统连接池耗尽 | System Connection Pool Exhausted | Specific case under system resources exhausted |
3012 |
ET_THREAD_POOL_EXH |
系统线程池耗尽 | System Thread Pool Exhausted | Specific case under system resources exhausted |
3013 |
ET_RES_ACCESS_ANOMALY |
系统资源访问异常 | System Resource Access Anomaly | Specific case under system resource anomaly |
3014 |
ET_READ_DISK_FILE_FAIL |
系统读取磁盘文件失败 | System Failed To Read Disk File | Specific case under system resource access anomaly |
3015 |
ET_ERR_CALLING_3P |
调用第三方服务出错 | Error Calling Third-Party Service | Primary macroscopic error code |
3016 |
ET_MIDDLEWARE_SERV |
中间件服务出错 | Middleware Service Error | Secondary macroscopic error code |
3017 |
ET_RPC_SERV |
RPC服务出错 | RPC Service Error | Specific case under middleware service error |
3018 |
ET_RPC_SERV_NOT_FOUND |
RPC服务未找到 | RPC Service Not Found | Specific case under RPC service error |
3019 |
ET_RPC_SERV_NOT_REG |
RPC服务未注册 | RPC Service Not Registered | Specific case under RPC service error |
3020 |
ET_INTERFACE_NOT_EXIST |
接口不存在 | Interface Does Not Exist | Specific case under RPC service error |
3021 |
ET_MSG_SERV |
消息服务出错 | Message Service Error | Specific case under middleware service error |
3022 |
ET_MSG_DELIVERY |
消息投递出错 | Message Delivery Error | Specific case under message service error |
3023 |
ET_MSG_CONSUMPTION |
消息消费出错 | Message Consumption Error | Specific case under message service error |
3024 |
ET_MSG_SUBSCRIPTION |
消息订阅出错 | Message Subscription Error | Specific case under message service error |
3025 |
ET_MSG_GROUP_NOT_FOUND |
消息分组未查到 | Message Group Not Found | Specific case under message service error |
3026 |
ET_CACHE_SERV |
缓存服务出错 | Cache Service Error | Specific case under middleware service error |
3027 |
ET_KEY_LEN_EXCD_LIM |
key长度超过限制 | Key Length Exceeds Limit | Specific case under cache service error |
3028 |
ET_VAL_LEN_EXCD_LIM |
value长度超过限制 | Value Length Exceeds Limit | Specific case under cache service error |
3029 |
ET_STORAGE_CAP_FULL |
存储容量已满 | Storage Capacity Full | Specific case under cache service error |
3030 |
ET_UNSUPPORTED_DATA_FMT |
不支持的数据格式 | Unsupported Data Format | Specific case under cache service error |
3031 |
ET_CFG_SERV |
配置服务出错 | Configuration Service Error | Specific case under middleware service error |
3032 |
ET_NET_RES_SERV |
网络资源服务出错 | Network Resource Service Error | Specific case under middleware service error |
3033 |
ET_VPN_SERV |
VPN服务出错 | VPN Service Error | Specific case under network resource service error |
3034 |
ET_CDN_SERV |
CDN服务出错 | CDN Service Error | Specific case under network resource service error |
3035 |
ET_DNS_SERV |
域名解析服务出错 | Domain Name Resolution Service Error | Specific case under network resource service error |
3036 |
ET_GW_SERV |
网关服务出错 | Gateway Service Error | Specific case under network resource service error |
3037 |
ET_3P_TIMEOUT |
第三方系统执行超时 | Third-Party System Execution Timeout | Secondary macroscopic error code |
3038 |
ET_RPC_TIMEOUT |
RPC执行超时 | RPC Execution Timeout | Specific case under third-party system execution timeout |
3039 |
ET_MSG_DELIVERY_TIMEOUT |
消息投递超时 | Message Delivery Timeout | Specific case under third-party system execution timeout |
3040 |
ET_CACHE_TIMEOUT |
缓存服务超时 | Cache Service Timeout | Specific case under third-party system execution timeout |
3041 |
ET_CFG_TIMEOUT |
配置服务超时 | Configuration Service Timeout | Specific case under third-party system execution timeout |
3042 |
ET_DB_TIMEOUT |
数据库服务超时 | Database Service Timeout | Specific case under third-party system execution timeout |
3043 |
ET_DB_SERV |
数据库服务出错 | Database Service Error | Secondary macroscopic error code |
3044 |
ET_TABLE_NOT_EXIST |
表不存在 | Table Does Not Exist | Specific case under database service error |
3045 |
ET_COL_NOT_EXIST |
列不存在 | Column Does Not Exist | Specific case under database service error |
3046 |
ET_ROW_NOT_EXIST |
行不存在 | Row Does Not Exist | Specific case under database service error |
3047 |
ET_MULT_IDENTICAL_COLS |
多表关联中存在多个相同名称的列 | Multiple Identical Column Names In Multi-Table Association | Specific case under database service error |
3048 |
ET_DB_DEADLOCK |
数据库死锁 | Database Deadlock | Specific case under database service error |
3049 |
ET_PRI_KEY_CONFLICT |
主键冲突 | Primary Key Conflict | Specific case under database service error |
3050 |
ET_3P_DISASTER_RECOV_TRIG |
第三方容灾系统被触发 | Third-Party Disaster Recovery System Triggered | Secondary macroscopic error code |
3051 |
ET_3P_FLOW_RESTR |
第三方系统限流 | Third-party System Flow Restriction | Specific case under third-party disaster recovery system triggered |
3052 |
ET_3P_FUNC_DOWNGRADED |
第三方功能降级 | Third-party Functionality Downgrade | Specific case under third-party disaster recovery system triggered |
3053 |
ET_NOTIF_SERV |
通知服务出错 | Notification Service Error | Secondary macroscopic error code |
3054 |
ET_SMS_REMINDER_FAIL |
短信提醒服务失败 | SMS Reminder Service Failure | Specific case under notification service error |
3055 |
ET_VOICE_REMINDER_FAIL |
语音提醒服务失败 | Voice Reminder Service Failure | Specific case under notification service error |
3056 |
ET_EMAIL_REMINDER_FAIL |
邮件提醒服务失败 | Email Reminder Service Failure | Specific case under notification service error |
Dependencies
~3.5–4.5MB
~82K SLoC