Return True when login/2FA attempts should be temporarily blocked.
(ip: str, username: str = "")
| 10193 | try{ drawConnectors(ctx, landmarks, FACEMESH_LEFT_EYEBROW, {color: '#B57EDC', lineWidth: 1.5}); }catch(e){} |
| 10194 | try{ drawConnectors(ctx, landmarks, FACEMESH_RIGHT_EYE, {color: '#B57EDC', lineWidth: 1.5}); }catch(e){} |
| 10195 | try{ drawConnectors(ctx, landmarks, FACEMESH_LEFT_EYE, {color: '#B57EDC', lineWidth: 1.5}); }catch(e){} |
| 10196 | try{ drawConnectors(ctx, landmarks, FACEMESH_LIPS, {color: '#B57EDC', lineWidth: 1.5}); }catch(e){} |
| 10197 | try{ drawConnectors(ctx, landmarks, FACEMESH_RIGHT_IRIS, {color: '#B57EDC', lineWidth: 2}); }catch(e){} |
| 10198 | try{ drawConnectors(ctx, landmarks, FACEMESH_LEFT_IRIS, {color: '#B57EDC', lineWidth: 2}); }catch(e){} |
| 10199 | try{ drawLandmarks(ctx, landmarks, {color: '#B57EDC', fillColor: '#FFF', lineWidth: 0.5, radius: 0.8}); }catch(e){} |
| 10200 | } |
| 10201 | |
| 10202 | const pTop = landmarks[10], pBottom = landmarks[152], pLeft = landmarks[234], pRight = landmarks[454]; |
| 10203 | const faceHeight = calcDist(pTop, pBottom); const faceWidth = calcDist(pLeft, pRight); |
| 10204 | const roll = -calcAngle(landmarks[33], landmarks[263]); |
| 10205 | const noseOffsetX = ((landmarks[1].x - pLeft.x) / (pRight.x - pLeft.x)) - 0.5; |
| 10206 | const noseOffsetY = ((landmarks[1].y - pTop.y) / (pBottom.y - pTop.y)) - 0.5; |
| 10207 | const yaw = noseOffsetX * 100; const pitch = noseOffsetY * 100; |
| 10208 | const jawWidth = calcDist(landmarks[132], landmarks[361]) / faceWidth; |
| 10209 | const noseWidth = calcDist(landmarks[129], landmarks[358]) / faceWidth; |
| 10210 | let shapeStr = (faceHeight / faceWidth > 1.35) ? (I18N.long || 'LONG') : ((faceHeight / faceWidth < 1.25) ? (I18N.round || 'ROUND') : (I18N.oval || 'OVAL')); |
| 10211 | let jawStr = (jawWidth > 0.8) ? (I18N.broad || 'BROAD') : (I18N.narrow || 'NARROW'); |
| 10212 | const leftEyeOpen = calcDist(landmarks[159], landmarks[145]) / faceHeight * 100; |
| 10213 | const rightEyeOpen = calcDist(landmarks[386], landmarks[374]) / faceHeight * 100; |
no outgoing calls
no test coverage detected