From 9d53999eea0a2f57200bed4943248ba02099ad06 Mon Sep 17 00:00:00 2001 From: Mike Mueller Date: Fri, 8 May 2026 09:32:13 +0200 Subject: [PATCH] Implement password handling for unattended access --- src/api/admin/pages/devices.rs | 24 +++++++++++- src/api/mod.rs | 5 +++ src/api/unattended.rs | 58 +++++++++++++++++++++++++++ src/database.rs | 49 ++++++++++++++++++++++- web_client/dist/bundle.css | 8 ++++ web_client/dist/bundle.js | 20 ++++++---- web_client/dist/bundle.js.map | 6 +-- web_client/src/main.ts | 61 +++++++++++++++++++++++++---- web_client/src/transport/session.ts | 51 +++++++++++++++++++----- web_client/src/ui/style.css | 8 ++++ 10 files changed, 260 insertions(+), 30 deletions(-) create mode 100644 src/api/unattended.rs diff --git a/src/api/admin/pages/devices.rs b/src/api/admin/pages/devices.rs index 7843e39..440f13f 100644 --- a/src/api/admin/pages/devices.rs +++ b/src/api/admin/pages/devices.rs @@ -139,6 +139,7 @@ async fn render_table(state: &Arc) -> Result { Owner Hostname User + Unattended pwd OS Version Last heartbeat @@ -150,7 +151,7 @@ async fn render_table(state: &Arc) -> Result { ); if devices.is_empty() { s.push_str( - r##"No devices have heartbeated yet."##, + r##"No devices have heartbeated yet."##, ); } for d in &devices { @@ -223,6 +224,25 @@ fn render_device_row(s: &mut String, d: &DashboardDeviceRow, now: chrono::DateTi format!("Offline — last heartbeat {} ago", fmt_age(age_secs)), ) }; + // Per-boot unattended-access password reported by hello-agent. Visible + // only when (a) the device is online (offline rows show stale data), + // (b) no interactive user is logged in (otherwise the supporter + // should be using the per-session approval popup, not the password), + // and (c) the agent has actually reported one (vanilla rustdesk + // never will). Otherwise show a neutral dash so the column lines up. + let unattended_pwd_cell = if is_online + && active_user.is_empty() + && !d.unattended_password.is_empty() + { + format!( + r##"{pw}"##, + pw = html_escape(&d.unattended_password), + set_at = html_escape(&d.unattended_password_set_at), + ) + } else { + r##""##.to_string() + }; + let id_cell = format!( r##" @@ -241,6 +261,7 @@ fn render_device_row(s: &mut String, d: &DashboardDeviceRow, now: chrono::DateTi {owner} {host} {user} + {unattended_pwd} {os} {ver} {last} @@ -285,6 +306,7 @@ fn render_device_row(s: &mut String, d: &DashboardDeviceRow, now: chrono::DateTi } else { html_escape(&active_user) }, + unattended_pwd = unattended_pwd_cell, os = html_escape(&os), ver = html_escape(&version_label), last = html_escape(&d.last_heartbeat_at), diff --git a/src/api/mod.rs b/src/api/mod.rs index f95187a..a44d607 100644 --- a/src/api/mod.rs +++ b/src/api/mod.rs @@ -23,6 +23,7 @@ pub mod state; pub mod strategy; pub mod sysinfo; pub mod twofa; +pub mod unattended; pub mod users; pub use state::AppState; @@ -47,6 +48,10 @@ pub fn router(state: Arc) -> Router { .route("/api/heartbeat", post(heartbeat::heartbeat)) .route("/api/sysinfo_ver", post(sysinfo::sysinfo_ver)) .route("/api/sysinfo", post(sysinfo::sysinfo)) + .route( + "/api/unattended-password", + post(unattended::unattended_password), + ) // M2: address book — modern (shared + personal) .route("/api/ab/settings", post(ab::settings::settings)) .route("/api/ab/personal", post(ab::profiles::personal)) diff --git a/src/api/unattended.rs b/src/api/unattended.rs new file mode 100644 index 0000000..06dd8e2 --- /dev/null +++ b/src/api/unattended.rs @@ -0,0 +1,58 @@ +//! `POST /api/unattended-password` — agent-side reporting of the per-boot +//! "permanent password" used for unattended access (no logged-in user to +//! click the approval popup). hello-agent generates a random password +//! every time the service starts and posts it here so the admin UI can +//! surface it for support staff. +//! +//! Auth model mirrors `/api/sysinfo`: the request must carry the agent's +//! `(id, uuid)` and that pair must already correspond to a registered +//! peer in `peer`. There's no shared secret beyond that — same trust +//! boundary the existing sysinfo endpoint already operates under. + +use crate::api::error::ApiError; +use crate::api::state::AppState; +use axum::extract::Extension; +use axum::Json; +use serde_json::Value; +use std::sync::Arc; + +/// Body: `{"id": "...", "uuid": "...", "password": "..."}` +/// Response (bare string, like sysinfo): `"OK"` or `"ID_NOT_FOUND"`. +pub async fn unattended_password( + Extension(state): Extension>, + Json(payload): Json, +) -> Result { + let id = payload + .get("id") + .and_then(|v| v.as_str()) + .unwrap_or_default(); + let uuid = payload + .get("uuid") + .and_then(|v| v.as_str()) + .unwrap_or_default(); + let password = payload + .get("password") + .and_then(|v| v.as_str()) + .unwrap_or_default(); + if id.is_empty() || uuid.is_empty() || password.is_empty() { + return Err(ApiError::BadRequest( + "id, uuid, and password are required".into(), + )); + } + + let peer = state + .db + .get_peer(id) + .await + .map_err(|e| ApiError::Internal(e.to_string()))?; + if peer.is_none() { + return Ok("ID_NOT_FOUND".to_string()); + } + + state + .db + .set_unattended_password(id, uuid, password) + .await + .map_err(|e| ApiError::Internal(e.to_string()))?; + Ok("OK".to_string()) +} diff --git a/src/database.rs b/src/database.rs index b6096e3..a1ccf0d 100644 --- a/src/database.rs +++ b/src/database.rs @@ -205,6 +205,13 @@ pub struct DashboardDeviceRow { pub last_heartbeat_at: String, pub sysinfo_payload: String, pub conns_json: String, + /// Plaintext per-boot password reported by the agent for unattended + /// access. Empty when the agent hasn't reported one (vanilla rustdesk + /// or hello-agent that hasn't called the endpoint yet). The admin UI + /// only surfaces this when the row is online AND no interactive user + /// is logged in. + pub unattended_password: String, + pub unattended_password_set_at: String, } #[derive(Debug, Clone, Default)] @@ -368,7 +375,9 @@ impl Database { } // Soft-ALTERs run after schema creation. SQLite < 3.35 lacks // `ADD COLUMN IF NOT EXISTS`; swallow the duplicate-column error - // so re-runs are idempotent. + // so re-runs are idempotent. Newly-added soft alters get appended + // to the same list — order doesn't matter beyond "after the table + // they touch exists in M*_SCHEMA". for stmt in M2_SOFT_ALTERS { self.try_alter(stmt).await; } @@ -604,7 +613,9 @@ impl Database { COALESCE(u.username, '') AS owner_username, \ ds.last_heartbeat_at AS last_hb, \ ds.payload AS payload, \ - ds.conns AS conns \ + ds.conns AS conns, \ + COALESCE(ds.unattended_password, '') AS u_pw, \ + COALESCE(ds.unattended_password_set_at, '') AS u_pw_at \ FROM device_sysinfo ds \ LEFT JOIN users u ON u.id = ds.user_id \ ORDER BY ds.last_heartbeat_at DESC LIMIT ? OFFSET ?", @@ -622,6 +633,8 @@ impl Database { last_heartbeat_at: r.try_get("last_hb").unwrap_or_default(), sysinfo_payload: r.try_get("payload").unwrap_or_default(), conns_json: r.try_get("conns").unwrap_or_default(), + unattended_password: r.try_get("u_pw").unwrap_or_default(), + unattended_password_set_at: r.try_get("u_pw_at").unwrap_or_default(), }) .collect(); Ok((total, data)) @@ -1116,6 +1129,31 @@ impl Database { Ok(()) } + /// Store the agent's per-boot unattended-access password. Upserts so a + /// device that's never sysinfo'd yet still gets a `device_sysinfo` row + /// to hang the password on. Caller is expected to have validated the + /// (id, uuid) pair against `peer` first — same gate as sysinfo_upsert. + pub async fn set_unattended_password( + &self, + id: &str, + uuid: &str, + password: &str, + ) -> ResultType<()> { + sqlx::query( + "INSERT INTO device_sysinfo(id, uuid, unattended_password, unattended_password_set_at) \ + VALUES(?, ?, ?, current_timestamp) \ + ON CONFLICT(id, uuid) DO UPDATE SET \ + unattended_password = excluded.unattended_password, \ + unattended_password_set_at = current_timestamp", + ) + .bind(id) + .bind(uuid) + .bind(password) + .execute(self.pool.get().await?.deref_mut()) + .await?; + Ok(()) + } + // =================================================================== // M2: address book / tags / device groups / accessibility // =================================================================== @@ -2971,6 +3009,13 @@ const M2_SOFT_ALTERS: &[&str] = &[ // login — promotion AND demotion at the IdP propagate. "ALTER TABLE oidc_providers ADD COLUMN admin_role TEXT", "ALTER TABLE oidc_providers ADD COLUMN roles_claim TEXT", + // Unattended-access password. Some agents (hello-agent) generate a + // random "permanent password" on every boot and report it back here + // so a supporter can reach the box when no user is logged in to + // approve a connection. Stored as plaintext on purpose: the admin UI + // displays it for the operator to read, and it rotates each boot. + "ALTER TABLE device_sysinfo ADD COLUMN unattended_password TEXT", + "ALTER TABLE device_sysinfo ADD COLUMN unattended_password_set_at DATETIME", ]; const M3_SCHEMA: &[&str] = &[ diff --git a/web_client/dist/bundle.css b/web_client/dist/bundle.css index ad189f9..b8cd42b 100644 --- a/web_client/dist/bundle.css +++ b/web_client/dist/bundle.css @@ -80,6 +80,14 @@ html, body { } .pw-form button:hover { background: #0369a1; } +/* Separator between "waiting for approval / cancel" and the unattended- + * password override on the awaiting-approval screen. */ +.pw-divider { + border: none; + border-top: 1px solid rgba(148, 163, 184, 0.2); + margin: 20px 0 12px; +} + .error-inline { background: rgba(220, 38, 38, 0.15); border: 1px solid rgba(220, 38, 38, 0.4); diff --git a/web_client/dist/bundle.js b/web_client/dist/bundle.js index 5742b71..21f91ee 100644 --- a/web_client/dist/bundle.js +++ b/web_client/dist/bundle.js @@ -1,24 +1,30 @@ -var Er=Object.create;var Hn=Object.defineProperty;var Tr=Object.getOwnPropertyDescriptor;var Dr=Object.getOwnPropertyNames;var Rr=Object.getPrototypeOf,Lr=Object.prototype.hasOwnProperty;var Pt=(p=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(p,{get:(i,o)=>(typeof require<"u"?require:i)[o]}):p)(function(p){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+p+'" is not supported')});var Te=(p,i)=>()=>(i||p((i={exports:{}}).exports,i),i.exports);var Fr=(p,i,o,e)=>{if(i&&typeof i=="object"||typeof i=="function")for(let t of Dr(i))!Lr.call(p,t)&&t!==o&&Hn(p,t,{get:()=>i[t],enumerable:!(e=Tr(i,t))||e.enumerable});return p};var $n=(p,i,o)=>(o=p!=null?Er(Rr(p)):{},Fr(i||!p||!p.__esModule?Hn(o,"default",{value:p,enumerable:!0}):o,p));var zn=Te(()=>{});var Kn=Te((wo,Mt)=>{(function(p){"use strict";var i=function(h){var y,b=new Float64Array(16);if(h)for(y=0;y>24&255,h[y+1]=b>>16&255,h[y+2]=b>>8&255,h[y+3]=b&255,h[y+4]=a>>24&255,h[y+5]=a>>16&255,h[y+6]=a>>8&255,h[y+7]=a&255}function V(h,y,b,a,_){var k,v=0;for(k=0;k<_;k++)v|=h[y+k]^b[a+k];return(1&v-1>>>8)-1}function ce(h,y,b,a){return V(h,y,b,a,16)}function ke(h,y,b,a){return V(h,y,b,a,32)}function Xe(h,y,b,a){for(var _=a[0]&255|(a[1]&255)<<8|(a[2]&255)<<16|(a[3]&255)<<24,k=b[0]&255|(b[1]&255)<<8|(b[2]&255)<<16|(b[3]&255)<<24,v=b[4]&255|(b[5]&255)<<8|(b[6]&255)<<16|(b[7]&255)<<24,D=b[8]&255|(b[9]&255)<<8|(b[10]&255)<<16|(b[11]&255)<<24,q=b[12]&255|(b[13]&255)<<8|(b[14]&255)<<16|(b[15]&255)<<24,H=a[4]&255|(a[5]&255)<<8|(a[6]&255)<<16|(a[7]&255)<<24,A=y[0]&255|(y[1]&255)<<8|(y[2]&255)<<16|(y[3]&255)<<24,se=y[4]&255|(y[5]&255)<<8|(y[6]&255)<<16|(y[7]&255)<<24,M=y[8]&255|(y[9]&255)<<8|(y[10]&255)<<16|(y[11]&255)<<24,W=y[12]&255|(y[13]&255)<<8|(y[14]&255)<<16|(y[15]&255)<<24,G=a[8]&255|(a[9]&255)<<8|(a[10]&255)<<16|(a[11]&255)<<24,te=b[16]&255|(b[17]&255)<<8|(b[18]&255)<<16|(b[19]&255)<<24,ee=b[20]&255|(b[21]&255)<<8|(b[22]&255)<<16|(b[23]&255)<<24,X=b[24]&255|(b[25]&255)<<8|(b[26]&255)<<16|(b[27]&255)<<24,Z=b[28]&255|(b[29]&255)<<8|(b[30]&255)<<16|(b[31]&255)<<24,Q=a[12]&255|(a[13]&255)<<8|(a[14]&255)<<16|(a[15]&255)<<24,I=_,z=k,C=v,J=D,U=q,N=H,m=A,P=se,L=M,T=W,R=G,F=te,Y=ee,ne=X,oe=Z,ie=Q,O,fe=0;fe<20;fe+=2)O=I+Y|0,U^=O<<7|O>>>25,O=U+I|0,L^=O<<9|O>>>23,O=L+U|0,Y^=O<<13|O>>>19,O=Y+L|0,I^=O<<18|O>>>14,O=N+z|0,T^=O<<7|O>>>25,O=T+N|0,ne^=O<<9|O>>>23,O=ne+T|0,z^=O<<13|O>>>19,O=z+ne|0,N^=O<<18|O>>>14,O=R+m|0,oe^=O<<7|O>>>25,O=oe+R|0,C^=O<<9|O>>>23,O=C+oe|0,m^=O<<13|O>>>19,O=m+C|0,R^=O<<18|O>>>14,O=ie+F|0,J^=O<<7|O>>>25,O=J+ie|0,P^=O<<9|O>>>23,O=P+J|0,F^=O<<13|O>>>19,O=F+P|0,ie^=O<<18|O>>>14,O=I+J|0,z^=O<<7|O>>>25,O=z+I|0,C^=O<<9|O>>>23,O=C+z|0,J^=O<<13|O>>>19,O=J+C|0,I^=O<<18|O>>>14,O=N+U|0,m^=O<<7|O>>>25,O=m+N|0,P^=O<<9|O>>>23,O=P+m|0,U^=O<<13|O>>>19,O=U+P|0,N^=O<<18|O>>>14,O=R+T|0,F^=O<<7|O>>>25,O=F+R|0,L^=O<<9|O>>>23,O=L+F|0,T^=O<<13|O>>>19,O=T+L|0,R^=O<<18|O>>>14,O=ie+oe|0,Y^=O<<7|O>>>25,O=Y+ie|0,ne^=O<<9|O>>>23,O=ne+Y|0,oe^=O<<13|O>>>19,O=oe+ne|0,ie^=O<<18|O>>>14;I=I+_|0,z=z+k|0,C=C+v|0,J=J+D|0,U=U+q|0,N=N+H|0,m=m+A|0,P=P+se|0,L=L+M|0,T=T+W|0,R=R+G|0,F=F+te|0,Y=Y+ee|0,ne=ne+X|0,oe=oe+Z|0,ie=ie+Q|0,h[0]=I>>>0&255,h[1]=I>>>8&255,h[2]=I>>>16&255,h[3]=I>>>24&255,h[4]=z>>>0&255,h[5]=z>>>8&255,h[6]=z>>>16&255,h[7]=z>>>24&255,h[8]=C>>>0&255,h[9]=C>>>8&255,h[10]=C>>>16&255,h[11]=C>>>24&255,h[12]=J>>>0&255,h[13]=J>>>8&255,h[14]=J>>>16&255,h[15]=J>>>24&255,h[16]=U>>>0&255,h[17]=U>>>8&255,h[18]=U>>>16&255,h[19]=U>>>24&255,h[20]=N>>>0&255,h[21]=N>>>8&255,h[22]=N>>>16&255,h[23]=N>>>24&255,h[24]=m>>>0&255,h[25]=m>>>8&255,h[26]=m>>>16&255,h[27]=m>>>24&255,h[28]=P>>>0&255,h[29]=P>>>8&255,h[30]=P>>>16&255,h[31]=P>>>24&255,h[32]=L>>>0&255,h[33]=L>>>8&255,h[34]=L>>>16&255,h[35]=L>>>24&255,h[36]=T>>>0&255,h[37]=T>>>8&255,h[38]=T>>>16&255,h[39]=T>>>24&255,h[40]=R>>>0&255,h[41]=R>>>8&255,h[42]=R>>>16&255,h[43]=R>>>24&255,h[44]=F>>>0&255,h[45]=F>>>8&255,h[46]=F>>>16&255,h[47]=F>>>24&255,h[48]=Y>>>0&255,h[49]=Y>>>8&255,h[50]=Y>>>16&255,h[51]=Y>>>24&255,h[52]=ne>>>0&255,h[53]=ne>>>8&255,h[54]=ne>>>16&255,h[55]=ne>>>24&255,h[56]=oe>>>0&255,h[57]=oe>>>8&255,h[58]=oe>>>16&255,h[59]=oe>>>24&255,h[60]=ie>>>0&255,h[61]=ie>>>8&255,h[62]=ie>>>16&255,h[63]=ie>>>24&255}function Qe(h,y,b,a){for(var _=a[0]&255|(a[1]&255)<<8|(a[2]&255)<<16|(a[3]&255)<<24,k=b[0]&255|(b[1]&255)<<8|(b[2]&255)<<16|(b[3]&255)<<24,v=b[4]&255|(b[5]&255)<<8|(b[6]&255)<<16|(b[7]&255)<<24,D=b[8]&255|(b[9]&255)<<8|(b[10]&255)<<16|(b[11]&255)<<24,q=b[12]&255|(b[13]&255)<<8|(b[14]&255)<<16|(b[15]&255)<<24,H=a[4]&255|(a[5]&255)<<8|(a[6]&255)<<16|(a[7]&255)<<24,A=y[0]&255|(y[1]&255)<<8|(y[2]&255)<<16|(y[3]&255)<<24,se=y[4]&255|(y[5]&255)<<8|(y[6]&255)<<16|(y[7]&255)<<24,M=y[8]&255|(y[9]&255)<<8|(y[10]&255)<<16|(y[11]&255)<<24,W=y[12]&255|(y[13]&255)<<8|(y[14]&255)<<16|(y[15]&255)<<24,G=a[8]&255|(a[9]&255)<<8|(a[10]&255)<<16|(a[11]&255)<<24,te=b[16]&255|(b[17]&255)<<8|(b[18]&255)<<16|(b[19]&255)<<24,ee=b[20]&255|(b[21]&255)<<8|(b[22]&255)<<16|(b[23]&255)<<24,X=b[24]&255|(b[25]&255)<<8|(b[26]&255)<<16|(b[27]&255)<<24,Z=b[28]&255|(b[29]&255)<<8|(b[30]&255)<<16|(b[31]&255)<<24,Q=a[12]&255|(a[13]&255)<<8|(a[14]&255)<<16|(a[15]&255)<<24,I=_,z=k,C=v,J=D,U=q,N=H,m=A,P=se,L=M,T=W,R=G,F=te,Y=ee,ne=X,oe=Z,ie=Q,O,fe=0;fe<20;fe+=2)O=I+Y|0,U^=O<<7|O>>>25,O=U+I|0,L^=O<<9|O>>>23,O=L+U|0,Y^=O<<13|O>>>19,O=Y+L|0,I^=O<<18|O>>>14,O=N+z|0,T^=O<<7|O>>>25,O=T+N|0,ne^=O<<9|O>>>23,O=ne+T|0,z^=O<<13|O>>>19,O=z+ne|0,N^=O<<18|O>>>14,O=R+m|0,oe^=O<<7|O>>>25,O=oe+R|0,C^=O<<9|O>>>23,O=C+oe|0,m^=O<<13|O>>>19,O=m+C|0,R^=O<<18|O>>>14,O=ie+F|0,J^=O<<7|O>>>25,O=J+ie|0,P^=O<<9|O>>>23,O=P+J|0,F^=O<<13|O>>>19,O=F+P|0,ie^=O<<18|O>>>14,O=I+J|0,z^=O<<7|O>>>25,O=z+I|0,C^=O<<9|O>>>23,O=C+z|0,J^=O<<13|O>>>19,O=J+C|0,I^=O<<18|O>>>14,O=N+U|0,m^=O<<7|O>>>25,O=m+N|0,P^=O<<9|O>>>23,O=P+m|0,U^=O<<13|O>>>19,O=U+P|0,N^=O<<18|O>>>14,O=R+T|0,F^=O<<7|O>>>25,O=F+R|0,L^=O<<9|O>>>23,O=L+F|0,T^=O<<13|O>>>19,O=T+L|0,R^=O<<18|O>>>14,O=ie+oe|0,Y^=O<<7|O>>>25,O=Y+ie|0,ne^=O<<9|O>>>23,O=ne+Y|0,oe^=O<<13|O>>>19,O=oe+ne|0,ie^=O<<18|O>>>14;h[0]=I>>>0&255,h[1]=I>>>8&255,h[2]=I>>>16&255,h[3]=I>>>24&255,h[4]=N>>>0&255,h[5]=N>>>8&255,h[6]=N>>>16&255,h[7]=N>>>24&255,h[8]=R>>>0&255,h[9]=R>>>8&255,h[10]=R>>>16&255,h[11]=R>>>24&255,h[12]=ie>>>0&255,h[13]=ie>>>8&255,h[14]=ie>>>16&255,h[15]=ie>>>24&255,h[16]=m>>>0&255,h[17]=m>>>8&255,h[18]=m>>>16&255,h[19]=m>>>24&255,h[20]=P>>>0&255,h[21]=P>>>8&255,h[22]=P>>>16&255,h[23]=P>>>24&255,h[24]=L>>>0&255,h[25]=L>>>8&255,h[26]=L>>>16&255,h[27]=L>>>24&255,h[28]=T>>>0&255,h[29]=T>>>8&255,h[30]=T>>>16&255,h[31]=T>>>24&255}function Ie(h,y,b,a){Xe(h,y,b,a)}function Ze(h,y,b,a){Qe(h,y,b,a)}var Re=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function Ce(h,y,b,a,_,k,v){var D=new Uint8Array(16),q=new Uint8Array(64),H,A;for(A=0;A<16;A++)D[A]=0;for(A=0;A<8;A++)D[A]=k[A];for(;_>=64;){for(Ie(q,D,v,Re),A=0;A<64;A++)h[y+A]=b[a+A]^q[A];for(H=1,A=8;A<16;A++)H=H+(D[A]&255)|0,D[A]=H&255,H>>>=8;_-=64,y+=64,a+=64}if(_>0)for(Ie(q,D,v,Re),A=0;A<_;A++)h[y+A]=b[a+A]^q[A];return 0}function xe(h,y,b,a,_){var k=new Uint8Array(16),v=new Uint8Array(64),D,q;for(q=0;q<16;q++)k[q]=0;for(q=0;q<8;q++)k[q]=a[q];for(;b>=64;){for(Ie(v,k,_,Re),q=0;q<64;q++)h[y+q]=v[q];for(D=1,q=8;q<16;q++)D=D+(k[q]&255)|0,k[q]=D&255,D>>>=8;b-=64,y+=64}if(b>0)for(Ie(v,k,_,Re),q=0;q>>13|b<<3)&8191,a=h[4]&255|(h[5]&255)<<8,this.r[2]=(b>>>10|a<<6)&7939,_=h[6]&255|(h[7]&255)<<8,this.r[3]=(a>>>7|_<<9)&8191,k=h[8]&255|(h[9]&255)<<8,this.r[4]=(_>>>4|k<<12)&255,this.r[5]=k>>>1&8190,v=h[10]&255|(h[11]&255)<<8,this.r[6]=(k>>>14|v<<2)&8191,D=h[12]&255|(h[13]&255)<<8,this.r[7]=(v>>>11|D<<5)&8065,q=h[14]&255|(h[15]&255)<<8,this.r[8]=(D>>>8|q<<8)&8191,this.r[9]=q>>>5&127,this.pad[0]=h[16]&255|(h[17]&255)<<8,this.pad[1]=h[18]&255|(h[19]&255)<<8,this.pad[2]=h[20]&255|(h[21]&255)<<8,this.pad[3]=h[22]&255|(h[23]&255)<<8,this.pad[4]=h[24]&255|(h[25]&255)<<8,this.pad[5]=h[26]&255|(h[27]&255)<<8,this.pad[6]=h[28]&255|(h[29]&255)<<8,this.pad[7]=h[30]&255|(h[31]&255)<<8};nt.prototype.blocks=function(h,y,b){for(var a=this.fin?0:2048,_,k,v,D,q,H,A,se,M,W,G,te,ee,X,Z,Q,I,z,C,J=this.h[0],U=this.h[1],N=this.h[2],m=this.h[3],P=this.h[4],L=this.h[5],T=this.h[6],R=this.h[7],F=this.h[8],Y=this.h[9],ne=this.r[0],oe=this.r[1],ie=this.r[2],O=this.r[3],fe=this.r[4],pe=this.r[5],he=this.r[6],ue=this.r[7],de=this.r[8],ae=this.r[9];b>=16;)_=h[y+0]&255|(h[y+1]&255)<<8,J+=_&8191,k=h[y+2]&255|(h[y+3]&255)<<8,U+=(_>>>13|k<<3)&8191,v=h[y+4]&255|(h[y+5]&255)<<8,N+=(k>>>10|v<<6)&8191,D=h[y+6]&255|(h[y+7]&255)<<8,m+=(v>>>7|D<<9)&8191,q=h[y+8]&255|(h[y+9]&255)<<8,P+=(D>>>4|q<<12)&8191,L+=q>>>1&8191,H=h[y+10]&255|(h[y+11]&255)<<8,T+=(q>>>14|H<<2)&8191,A=h[y+12]&255|(h[y+13]&255)<<8,R+=(H>>>11|A<<5)&8191,se=h[y+14]&255|(h[y+15]&255)<<8,F+=(A>>>8|se<<8)&8191,Y+=se>>>5|a,M=0,W=M,W+=J*ne,W+=U*(5*ae),W+=N*(5*de),W+=m*(5*ue),W+=P*(5*he),M=W>>>13,W&=8191,W+=L*(5*pe),W+=T*(5*fe),W+=R*(5*O),W+=F*(5*ie),W+=Y*(5*oe),M+=W>>>13,W&=8191,G=M,G+=J*oe,G+=U*ne,G+=N*(5*ae),G+=m*(5*de),G+=P*(5*ue),M=G>>>13,G&=8191,G+=L*(5*he),G+=T*(5*pe),G+=R*(5*fe),G+=F*(5*O),G+=Y*(5*ie),M+=G>>>13,G&=8191,te=M,te+=J*ie,te+=U*oe,te+=N*ne,te+=m*(5*ae),te+=P*(5*de),M=te>>>13,te&=8191,te+=L*(5*ue),te+=T*(5*he),te+=R*(5*pe),te+=F*(5*fe),te+=Y*(5*O),M+=te>>>13,te&=8191,ee=M,ee+=J*O,ee+=U*ie,ee+=N*oe,ee+=m*ne,ee+=P*(5*ae),M=ee>>>13,ee&=8191,ee+=L*(5*de),ee+=T*(5*ue),ee+=R*(5*he),ee+=F*(5*pe),ee+=Y*(5*fe),M+=ee>>>13,ee&=8191,X=M,X+=J*fe,X+=U*O,X+=N*ie,X+=m*oe,X+=P*ne,M=X>>>13,X&=8191,X+=L*(5*ae),X+=T*(5*de),X+=R*(5*ue),X+=F*(5*he),X+=Y*(5*pe),M+=X>>>13,X&=8191,Z=M,Z+=J*pe,Z+=U*fe,Z+=N*O,Z+=m*ie,Z+=P*oe,M=Z>>>13,Z&=8191,Z+=L*ne,Z+=T*(5*ae),Z+=R*(5*de),Z+=F*(5*ue),Z+=Y*(5*he),M+=Z>>>13,Z&=8191,Q=M,Q+=J*he,Q+=U*pe,Q+=N*fe,Q+=m*O,Q+=P*ie,M=Q>>>13,Q&=8191,Q+=L*oe,Q+=T*ne,Q+=R*(5*ae),Q+=F*(5*de),Q+=Y*(5*ue),M+=Q>>>13,Q&=8191,I=M,I+=J*ue,I+=U*he,I+=N*pe,I+=m*fe,I+=P*O,M=I>>>13,I&=8191,I+=L*ie,I+=T*oe,I+=R*ne,I+=F*(5*ae),I+=Y*(5*de),M+=I>>>13,I&=8191,z=M,z+=J*de,z+=U*ue,z+=N*he,z+=m*pe,z+=P*fe,M=z>>>13,z&=8191,z+=L*O,z+=T*ie,z+=R*oe,z+=F*ne,z+=Y*(5*ae),M+=z>>>13,z&=8191,C=M,C+=J*ae,C+=U*de,C+=N*ue,C+=m*he,C+=P*pe,M=C>>>13,C&=8191,C+=L*fe,C+=T*O,C+=R*ie,C+=F*oe,C+=Y*ne,M+=C>>>13,C&=8191,M=(M<<2)+M|0,M=M+W|0,W=M&8191,M=M>>>13,G+=M,J=W,U=G,N=te,m=ee,P=X,L=Z,T=Q,R=I,F=z,Y=C,y+=16,b-=16;this.h[0]=J,this.h[1]=U,this.h[2]=N,this.h[3]=m,this.h[4]=P,this.h[5]=L,this.h[6]=T,this.h[7]=R,this.h[8]=F,this.h[9]=Y},nt.prototype.finish=function(h,y){var b=new Uint16Array(10),a,_,k,v;if(this.leftover){for(v=this.leftover,this.buffer[v++]=1;v<16;v++)this.buffer[v]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(a=this.h[1]>>>13,this.h[1]&=8191,v=2;v<10;v++)this.h[v]+=a,a=this.h[v]>>>13,this.h[v]&=8191;for(this.h[0]+=a*5,a=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=a,a=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=a,b[0]=this.h[0]+5,a=b[0]>>>13,b[0]&=8191,v=1;v<10;v++)b[v]=this.h[v]+a,a=b[v]>>>13,b[v]&=8191;for(b[9]-=8192,_=(a^1)-1,v=0;v<10;v++)b[v]&=_;for(_=~_,v=0;v<10;v++)this.h[v]=this.h[v]&_|b[v];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,k=this.h[0]+this.pad[0],this.h[0]=k&65535,v=1;v<8;v++)k=(this.h[v]+this.pad[v]|0)+(k>>>16)|0,this.h[v]=k&65535;h[y+0]=this.h[0]>>>0&255,h[y+1]=this.h[0]>>>8&255,h[y+2]=this.h[1]>>>0&255,h[y+3]=this.h[1]>>>8&255,h[y+4]=this.h[2]>>>0&255,h[y+5]=this.h[2]>>>8&255,h[y+6]=this.h[3]>>>0&255,h[y+7]=this.h[3]>>>8&255,h[y+8]=this.h[4]>>>0&255,h[y+9]=this.h[4]>>>8&255,h[y+10]=this.h[5]>>>0&255,h[y+11]=this.h[5]>>>8&255,h[y+12]=this.h[6]>>>0&255,h[y+13]=this.h[6]>>>8&255,h[y+14]=this.h[7]>>>0&255,h[y+15]=this.h[7]>>>8&255},nt.prototype.update=function(h,y,b){var a,_;if(this.leftover){for(_=16-this.leftover,_>b&&(_=b),a=0;a<_;a++)this.buffer[this.leftover+a]=h[y+a];if(b-=_,y+=_,this.leftover+=_,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(b>=16&&(_=b-b%16,this.blocks(h,y,_),y+=_,b-=_),b){for(a=0;a>16&1),k[b-1]&=65535;k[15]=v[15]-32767-(k[14]>>16&1),_=k[15]>>16&1,k[14]&=65535,ye(v,k,1-_)}for(b=0;b<16;b++)h[2*b]=v[b]&255,h[2*b+1]=v[b]>>8}function Oe(h,y){var b=new Uint8Array(32),a=new Uint8Array(32);return g(b,h),g(a,y),ke(b,0,a,0)}function wt(h){var y=new Uint8Array(32);return g(y,h),y[0]&1}function Qt(h,y){var b;for(b=0;b<16;b++)h[b]=y[2*b]+(y[2*b+1]<<8);h[15]&=32767}function Ke(h,y,b){for(var a=0;a<16;a++)h[a]=y[a]+b[a]}function Ve(h,y,b){for(var a=0;a<16;a++)h[a]=y[a]-b[a]}function le(h,y,b){var a,_,k=0,v=0,D=0,q=0,H=0,A=0,se=0,M=0,W=0,G=0,te=0,ee=0,X=0,Z=0,Q=0,I=0,z=0,C=0,J=0,U=0,N=0,m=0,P=0,L=0,T=0,R=0,F=0,Y=0,ne=0,oe=0,ie=0,O=b[0],fe=b[1],pe=b[2],he=b[3],ue=b[4],de=b[5],ae=b[6],Ee=b[7],_e=b[8],me=b[9],Pe=b[10],Se=b[11],De=b[12],Fe=b[13],qe=b[14],Ne=b[15];a=y[0],k+=a*O,v+=a*fe,D+=a*pe,q+=a*he,H+=a*ue,A+=a*de,se+=a*ae,M+=a*Ee,W+=a*_e,G+=a*me,te+=a*Pe,ee+=a*Se,X+=a*De,Z+=a*Fe,Q+=a*qe,I+=a*Ne,a=y[1],v+=a*O,D+=a*fe,q+=a*pe,H+=a*he,A+=a*ue,se+=a*de,M+=a*ae,W+=a*Ee,G+=a*_e,te+=a*me,ee+=a*Pe,X+=a*Se,Z+=a*De,Q+=a*Fe,I+=a*qe,z+=a*Ne,a=y[2],D+=a*O,q+=a*fe,H+=a*pe,A+=a*he,se+=a*ue,M+=a*de,W+=a*ae,G+=a*Ee,te+=a*_e,ee+=a*me,X+=a*Pe,Z+=a*Se,Q+=a*De,I+=a*Fe,z+=a*qe,C+=a*Ne,a=y[3],q+=a*O,H+=a*fe,A+=a*pe,se+=a*he,M+=a*ue,W+=a*de,G+=a*ae,te+=a*Ee,ee+=a*_e,X+=a*me,Z+=a*Pe,Q+=a*Se,I+=a*De,z+=a*Fe,C+=a*qe,J+=a*Ne,a=y[4],H+=a*O,A+=a*fe,se+=a*pe,M+=a*he,W+=a*ue,G+=a*de,te+=a*ae,ee+=a*Ee,X+=a*_e,Z+=a*me,Q+=a*Pe,I+=a*Se,z+=a*De,C+=a*Fe,J+=a*qe,U+=a*Ne,a=y[5],A+=a*O,se+=a*fe,M+=a*pe,W+=a*he,G+=a*ue,te+=a*de,ee+=a*ae,X+=a*Ee,Z+=a*_e,Q+=a*me,I+=a*Pe,z+=a*Se,C+=a*De,J+=a*Fe,U+=a*qe,N+=a*Ne,a=y[6],se+=a*O,M+=a*fe,W+=a*pe,G+=a*he,te+=a*ue,ee+=a*de,X+=a*ae,Z+=a*Ee,Q+=a*_e,I+=a*me,z+=a*Pe,C+=a*Se,J+=a*De,U+=a*Fe,N+=a*qe,m+=a*Ne,a=y[7],M+=a*O,W+=a*fe,G+=a*pe,te+=a*he,ee+=a*ue,X+=a*de,Z+=a*ae,Q+=a*Ee,I+=a*_e,z+=a*me,C+=a*Pe,J+=a*Se,U+=a*De,N+=a*Fe,m+=a*qe,P+=a*Ne,a=y[8],W+=a*O,G+=a*fe,te+=a*pe,ee+=a*he,X+=a*ue,Z+=a*de,Q+=a*ae,I+=a*Ee,z+=a*_e,C+=a*me,J+=a*Pe,U+=a*Se,N+=a*De,m+=a*Fe,P+=a*qe,L+=a*Ne,a=y[9],G+=a*O,te+=a*fe,ee+=a*pe,X+=a*he,Z+=a*ue,Q+=a*de,I+=a*ae,z+=a*Ee,C+=a*_e,J+=a*me,U+=a*Pe,N+=a*Se,m+=a*De,P+=a*Fe,L+=a*qe,T+=a*Ne,a=y[10],te+=a*O,ee+=a*fe,X+=a*pe,Z+=a*he,Q+=a*ue,I+=a*de,z+=a*ae,C+=a*Ee,J+=a*_e,U+=a*me,N+=a*Pe,m+=a*Se,P+=a*De,L+=a*Fe,T+=a*qe,R+=a*Ne,a=y[11],ee+=a*O,X+=a*fe,Z+=a*pe,Q+=a*he,I+=a*ue,z+=a*de,C+=a*ae,J+=a*Ee,U+=a*_e,N+=a*me,m+=a*Pe,P+=a*Se,L+=a*De,T+=a*Fe,R+=a*qe,F+=a*Ne,a=y[12],X+=a*O,Z+=a*fe,Q+=a*pe,I+=a*he,z+=a*ue,C+=a*de,J+=a*ae,U+=a*Ee,N+=a*_e,m+=a*me,P+=a*Pe,L+=a*Se,T+=a*De,R+=a*Fe,F+=a*qe,Y+=a*Ne,a=y[13],Z+=a*O,Q+=a*fe,I+=a*pe,z+=a*he,C+=a*ue,J+=a*de,U+=a*ae,N+=a*Ee,m+=a*_e,P+=a*me,L+=a*Pe,T+=a*Se,R+=a*De,F+=a*Fe,Y+=a*qe,ne+=a*Ne,a=y[14],Q+=a*O,I+=a*fe,z+=a*pe,C+=a*he,J+=a*ue,U+=a*de,N+=a*ae,m+=a*Ee,P+=a*_e,L+=a*me,T+=a*Pe,R+=a*Se,F+=a*De,Y+=a*Fe,ne+=a*qe,oe+=a*Ne,a=y[15],I+=a*O,z+=a*fe,C+=a*pe,J+=a*he,U+=a*ue,N+=a*de,m+=a*ae,P+=a*Ee,L+=a*_e,T+=a*me,R+=a*Pe,F+=a*Se,Y+=a*De,ne+=a*Fe,oe+=a*qe,ie+=a*Ne,k+=38*z,v+=38*C,D+=38*J,q+=38*U,H+=38*N,A+=38*m,se+=38*P,M+=38*L,W+=38*T,G+=38*R,te+=38*F,ee+=38*Y,X+=38*ne,Z+=38*oe,Q+=38*ie,_=1,a=k+_+65535,_=Math.floor(a/65536),k=a-_*65536,a=v+_+65535,_=Math.floor(a/65536),v=a-_*65536,a=D+_+65535,_=Math.floor(a/65536),D=a-_*65536,a=q+_+65535,_=Math.floor(a/65536),q=a-_*65536,a=H+_+65535,_=Math.floor(a/65536),H=a-_*65536,a=A+_+65535,_=Math.floor(a/65536),A=a-_*65536,a=se+_+65535,_=Math.floor(a/65536),se=a-_*65536,a=M+_+65535,_=Math.floor(a/65536),M=a-_*65536,a=W+_+65535,_=Math.floor(a/65536),W=a-_*65536,a=G+_+65535,_=Math.floor(a/65536),G=a-_*65536,a=te+_+65535,_=Math.floor(a/65536),te=a-_*65536,a=ee+_+65535,_=Math.floor(a/65536),ee=a-_*65536,a=X+_+65535,_=Math.floor(a/65536),X=a-_*65536,a=Z+_+65535,_=Math.floor(a/65536),Z=a-_*65536,a=Q+_+65535,_=Math.floor(a/65536),Q=a-_*65536,a=I+_+65535,_=Math.floor(a/65536),I=a-_*65536,k+=_-1+37*(_-1),_=1,a=k+_+65535,_=Math.floor(a/65536),k=a-_*65536,a=v+_+65535,_=Math.floor(a/65536),v=a-_*65536,a=D+_+65535,_=Math.floor(a/65536),D=a-_*65536,a=q+_+65535,_=Math.floor(a/65536),q=a-_*65536,a=H+_+65535,_=Math.floor(a/65536),H=a-_*65536,a=A+_+65535,_=Math.floor(a/65536),A=a-_*65536,a=se+_+65535,_=Math.floor(a/65536),se=a-_*65536,a=M+_+65535,_=Math.floor(a/65536),M=a-_*65536,a=W+_+65535,_=Math.floor(a/65536),W=a-_*65536,a=G+_+65535,_=Math.floor(a/65536),G=a-_*65536,a=te+_+65535,_=Math.floor(a/65536),te=a-_*65536,a=ee+_+65535,_=Math.floor(a/65536),ee=a-_*65536,a=X+_+65535,_=Math.floor(a/65536),X=a-_*65536,a=Z+_+65535,_=Math.floor(a/65536),Z=a-_*65536,a=Q+_+65535,_=Math.floor(a/65536),Q=a-_*65536,a=I+_+65535,_=Math.floor(a/65536),I=a-_*65536,k+=_-1+37*(_-1),h[0]=k,h[1]=v,h[2]=D,h[3]=q,h[4]=H,h[5]=A,h[6]=se,h[7]=M,h[8]=W,h[9]=G,h[10]=te,h[11]=ee,h[12]=X,h[13]=Z,h[14]=Q,h[15]=I}function Ue(h,y){le(h,y,y)}function Fn(h,y){var b=i(),a;for(a=0;a<16;a++)b[a]=y[a];for(a=253;a>=0;a--)Ue(b,b),a!==2&&a!==4&&le(b,b,y);for(a=0;a<16;a++)h[a]=b[a]}function qn(h,y){var b=i(),a;for(a=0;a<16;a++)b[a]=y[a];for(a=250;a>=0;a--)Ue(b,b),a!==1&&le(b,b,y);for(a=0;a<16;a++)h[a]=b[a]}function Lt(h,y,b){var a=new Uint8Array(32),_=new Float64Array(80),k,v,D=i(),q=i(),H=i(),A=i(),se=i(),M=i();for(v=0;v<31;v++)a[v]=y[v];for(a[31]=y[31]&127|64,a[0]&=248,Qt(_,b),v=0;v<16;v++)q[v]=_[v],A[v]=D[v]=H[v]=0;for(D[0]=A[0]=1,v=254;v>=0;--v)k=a[v>>>3]>>>(v&7)&1,ye(D,q,k),ye(H,A,k),Ke(se,D,H),Ve(D,D,H),Ke(H,q,A),Ve(q,q,A),Ue(A,se),Ue(M,D),le(D,H,D),le(H,q,se),Ke(se,D,H),Ve(D,D,H),Ue(q,D),Ve(H,A,M),le(D,H,f),Ke(D,D,A),le(H,H,D),le(D,A,M),le(A,q,_),Ue(q,se),ye(D,q,k),ye(H,A,k);for(v=0;v<16;v++)_[v+16]=D[v],_[v+32]=H[v],_[v+48]=q[v],_[v+64]=A[v];var W=_.subarray(32),G=_.subarray(16);return Fn(W,W),le(G,G,W),g(h,G),0}function Ft(h,y){return Lt(h,y,t)}function Nn(h,y){return o(y,32),Ft(h,y)}function qt(h,y,b){var a=new Uint8Array(32);return Lt(a,b,y),Ze(h,e,a,Re)}var An=Ot,wr=Je;function kr(h,y,b,a,_,k){var v=new Uint8Array(32);return qt(v,_,k),An(h,y,b,a,v)}function xr(h,y,b,a,_,k){var v=new Uint8Array(32);return qt(v,_,k),wr(h,y,b,a,v)}var jn=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Cn(h,y,b,a){for(var _=new Int32Array(16),k=new Int32Array(16),v,D,q,H,A,se,M,W,G,te,ee,X,Z,Q,I,z,C,J,U,N,m,P,L,T,R,F,Y=h[0],ne=h[1],oe=h[2],ie=h[3],O=h[4],fe=h[5],pe=h[6],he=h[7],ue=y[0],de=y[1],ae=y[2],Ee=y[3],_e=y[4],me=y[5],Pe=y[6],Se=y[7],De=0;a>=128;){for(U=0;U<16;U++)N=8*U+De,_[U]=b[N+0]<<24|b[N+1]<<16|b[N+2]<<8|b[N+3],k[U]=b[N+4]<<24|b[N+5]<<16|b[N+6]<<8|b[N+7];for(U=0;U<80;U++)if(v=Y,D=ne,q=oe,H=ie,A=O,se=fe,M=pe,W=he,G=ue,te=de,ee=ae,X=Ee,Z=_e,Q=me,I=Pe,z=Se,m=he,P=Se,L=P&65535,T=P>>>16,R=m&65535,F=m>>>16,m=(O>>>14|_e<<18)^(O>>>18|_e<<14)^(_e>>>9|O<<23),P=(_e>>>14|O<<18)^(_e>>>18|O<<14)^(O>>>9|_e<<23),L+=P&65535,T+=P>>>16,R+=m&65535,F+=m>>>16,m=O&fe^~O&pe,P=_e&me^~_e&Pe,L+=P&65535,T+=P>>>16,R+=m&65535,F+=m>>>16,m=jn[U*2],P=jn[U*2+1],L+=P&65535,T+=P>>>16,R+=m&65535,F+=m>>>16,m=_[U%16],P=k[U%16],L+=P&65535,T+=P>>>16,R+=m&65535,F+=m>>>16,T+=L>>>16,R+=T>>>16,F+=R>>>16,C=R&65535|F<<16,J=L&65535|T<<16,m=C,P=J,L=P&65535,T=P>>>16,R=m&65535,F=m>>>16,m=(Y>>>28|ue<<4)^(ue>>>2|Y<<30)^(ue>>>7|Y<<25),P=(ue>>>28|Y<<4)^(Y>>>2|ue<<30)^(Y>>>7|ue<<25),L+=P&65535,T+=P>>>16,R+=m&65535,F+=m>>>16,m=Y&ne^Y&oe^ne&oe,P=ue&de^ue&ae^de&ae,L+=P&65535,T+=P>>>16,R+=m&65535,F+=m>>>16,T+=L>>>16,R+=T>>>16,F+=R>>>16,W=R&65535|F<<16,z=L&65535|T<<16,m=H,P=X,L=P&65535,T=P>>>16,R=m&65535,F=m>>>16,m=C,P=J,L+=P&65535,T+=P>>>16,R+=m&65535,F+=m>>>16,T+=L>>>16,R+=T>>>16,F+=R>>>16,H=R&65535|F<<16,X=L&65535|T<<16,ne=v,oe=D,ie=q,O=H,fe=A,pe=se,he=M,Y=W,de=G,ae=te,Ee=ee,_e=X,me=Z,Pe=Q,Se=I,ue=z,U%16===15)for(N=0;N<16;N++)m=_[N],P=k[N],L=P&65535,T=P>>>16,R=m&65535,F=m>>>16,m=_[(N+9)%16],P=k[(N+9)%16],L+=P&65535,T+=P>>>16,R+=m&65535,F+=m>>>16,C=_[(N+1)%16],J=k[(N+1)%16],m=(C>>>1|J<<31)^(C>>>8|J<<24)^C>>>7,P=(J>>>1|C<<31)^(J>>>8|C<<24)^(J>>>7|C<<25),L+=P&65535,T+=P>>>16,R+=m&65535,F+=m>>>16,C=_[(N+14)%16],J=k[(N+14)%16],m=(C>>>19|J<<13)^(J>>>29|C<<3)^C>>>6,P=(J>>>19|C<<13)^(C>>>29|J<<3)^(J>>>6|C<<26),L+=P&65535,T+=P>>>16,R+=m&65535,F+=m>>>16,T+=L>>>16,R+=T>>>16,F+=R>>>16,_[N]=R&65535|F<<16,k[N]=L&65535|T<<16;m=Y,P=ue,L=P&65535,T=P>>>16,R=m&65535,F=m>>>16,m=h[0],P=y[0],L+=P&65535,T+=P>>>16,R+=m&65535,F+=m>>>16,T+=L>>>16,R+=T>>>16,F+=R>>>16,h[0]=Y=R&65535|F<<16,y[0]=ue=L&65535|T<<16,m=ne,P=de,L=P&65535,T=P>>>16,R=m&65535,F=m>>>16,m=h[1],P=y[1],L+=P&65535,T+=P>>>16,R+=m&65535,F+=m>>>16,T+=L>>>16,R+=T>>>16,F+=R>>>16,h[1]=ne=R&65535|F<<16,y[1]=de=L&65535|T<<16,m=oe,P=ae,L=P&65535,T=P>>>16,R=m&65535,F=m>>>16,m=h[2],P=y[2],L+=P&65535,T+=P>>>16,R+=m&65535,F+=m>>>16,T+=L>>>16,R+=T>>>16,F+=R>>>16,h[2]=oe=R&65535|F<<16,y[2]=ae=L&65535|T<<16,m=ie,P=Ee,L=P&65535,T=P>>>16,R=m&65535,F=m>>>16,m=h[3],P=y[3],L+=P&65535,T+=P>>>16,R+=m&65535,F+=m>>>16,T+=L>>>16,R+=T>>>16,F+=R>>>16,h[3]=ie=R&65535|F<<16,y[3]=Ee=L&65535|T<<16,m=O,P=_e,L=P&65535,T=P>>>16,R=m&65535,F=m>>>16,m=h[4],P=y[4],L+=P&65535,T+=P>>>16,R+=m&65535,F+=m>>>16,T+=L>>>16,R+=T>>>16,F+=R>>>16,h[4]=O=R&65535|F<<16,y[4]=_e=L&65535|T<<16,m=fe,P=me,L=P&65535,T=P>>>16,R=m&65535,F=m>>>16,m=h[5],P=y[5],L+=P&65535,T+=P>>>16,R+=m&65535,F+=m>>>16,T+=L>>>16,R+=T>>>16,F+=R>>>16,h[5]=fe=R&65535|F<<16,y[5]=me=L&65535|T<<16,m=pe,P=Pe,L=P&65535,T=P>>>16,R=m&65535,F=m>>>16,m=h[6],P=y[6],L+=P&65535,T+=P>>>16,R+=m&65535,F+=m>>>16,T+=L>>>16,R+=T>>>16,F+=R>>>16,h[6]=pe=R&65535|F<<16,y[6]=Pe=L&65535|T<<16,m=he,P=Se,L=P&65535,T=P>>>16,R=m&65535,F=m>>>16,m=h[7],P=y[7],L+=P&65535,T+=P>>>16,R+=m&65535,F+=m>>>16,T+=L>>>16,R+=T>>>16,F+=R>>>16,h[7]=he=R&65535|F<<16,y[7]=Se=L&65535|T<<16,De+=128,a-=128}return a}function dt(h,y,b){var a=new Int32Array(8),_=new Int32Array(8),k=new Uint8Array(256),v,D=b;for(a[0]=1779033703,a[1]=3144134277,a[2]=1013904242,a[3]=2773480762,a[4]=1359893119,a[5]=2600822924,a[6]=528734635,a[7]=1541459225,_[0]=4089235720,_[1]=2227873595,_[2]=4271175723,_[3]=1595750129,_[4]=2917565137,_[5]=725511199,_[6]=4215389547,_[7]=327033209,Cn(a,_,y,b),b%=128,v=0;v=0;--_)a=b[_/8|0]>>(_&7)&1,Bn(h,y,a),Nt(y,h),Nt(h,h),Bn(h,y,a)}function At(h,y){var b=[i(),i(),i(),i()];Ae(b[0],w),Ae(b[1],B),Ae(b[2],r),le(b[3],w,B),gt(h,b,y)}function en(h,y,b){var a=new Uint8Array(64),_=[i(),i(),i(),i()],k;for(b||o(y,32),dt(a,y,32),a[0]&=248,a[31]&=127,a[31]|=64,At(_,a),Zt(h,_),k=0;k<32;k++)y[k+32]=h[k];return 0}var jt=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function tn(h,y){var b,a,_,k;for(a=63;a>=32;--a){for(b=0,_=a-32,k=a-12;_>4)*jt[_],b=y[_]>>8,y[_]&=255;for(_=0;_<32;_++)y[_]-=b*jt[_];for(a=0;a<32;a++)y[a+1]+=y[a]>>8,h[a]=y[a]&255}function nn(h){var y=new Float64Array(64),b;for(b=0;b<64;b++)y[b]=h[b];for(b=0;b<64;b++)h[b]=0;tn(h,y)}function Mn(h,y,b,a){var _=new Uint8Array(64),k=new Uint8Array(64),v=new Uint8Array(64),D,q,H=new Float64Array(64),A=[i(),i(),i(),i()];dt(_,a,32),_[0]&=248,_[31]&=127,_[31]|=64;var se=b+64;for(D=0;D>7&&Ve(h[0],n,h[0]),le(h[3],h[0],h[1]),0)}function rn(h,y,b,a){var _,k=new Uint8Array(32),v=new Uint8Array(64),D=[i(),i(),i(),i()],q=[i(),i(),i(),i()];if(b<64||vr(q,a))return-1;for(_=0;_=0},p.sign.keyPair=function(){var h=new Uint8Array(at),y=new Uint8Array(bt);return en(h,y),{publicKey:h,secretKey:y}},p.sign.keyPair.fromSecretKey=function(h){if(Be(h),h.length!==bt)throw new Error("bad secret key size");for(var y=new Uint8Array(at),b=0;b{"use strict";ui.exports=Mr;function Mr(p,i){for(var o=new Array(arguments.length-1),e=0,t=2,n=!0;t{"use strict";var Ht=di;Ht.length=function(i){var o=i.length;if(!o)return 0;for(var e=0;--o%4>1&&i.charAt(o)==="=";)++e;return Math.ceil(i.length*3)/4-e};var yt=new Array(64),ci=new Array(123);for(We=0;We<64;)ci[yt[We]=We<26?We+65:We<52?We+71:We<62?We-4:We-59|43]=We++;var We;Ht.encode=function(i,o,e){for(var t=null,n=[],r=0,f=0,d;o>2],d=(c&3)<<4,f=1;break;case 1:n[r++]=yt[d|c>>4],d=(c&15)<<2,f=2;break;case 2:n[r++]=yt[d|c>>6],n[r++]=yt[c&63],f=0;break}r>8191&&((t||(t=[])).push(String.fromCharCode.apply(String,n)),r=0)}return f&&(n[r++]=yt[d],n[r++]=61,f===1&&(n[r++]=61)),t?(r&&t.push(String.fromCharCode.apply(String,n.slice(0,r))),t.join("")):String.fromCharCode.apply(String,n.slice(0,r))};var li="invalid encoding";Ht.decode=function(i,o,e){for(var t=e,n=0,r,f=0;f1)break;if((d=ci[d])===void 0)throw Error(li);switch(n){case 0:r=d,n=1;break;case 1:o[e++]=r<<2|(d&48)>>4,r=d,n=2;break;case 2:o[e++]=(r&15)<<4|(d&60)>>2,r=d,n=3;break;case 3:o[e++]=(r&3)<<6|d,n=0;break}}if(n===1)throw Error(li);return e-t};Ht.test=function(i){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(i)}});var pi=Te((Co,si)=>{"use strict";si.exports=$t;function $t(){this._listeners={}}$t.prototype.on=function(i,o,e){return(this._listeners[i]||(this._listeners[i]=[])).push({fn:o,ctx:e||this}),this};$t.prototype.off=function(i,o){if(i===void 0)this._listeners={};else if(o===void 0)this._listeners[i]=[];else for(var e=this._listeners[i],t=0;t{"use strict";wi.exports=hi(hi);function hi(p){return typeof Float32Array<"u"?function(){var i=new Float32Array([-0]),o=new Uint8Array(i.buffer),e=o[3]===128;function t(d,c,w){i[0]=d,c[w]=o[0],c[w+1]=o[1],c[w+2]=o[2],c[w+3]=o[3]}function n(d,c,w){i[0]=d,c[w]=o[3],c[w+1]=o[2],c[w+2]=o[1],c[w+3]=o[0]}p.writeFloatLE=e?t:n,p.writeFloatBE=e?n:t;function r(d,c){return o[0]=d[c],o[1]=d[c+1],o[2]=d[c+2],o[3]=d[c+3],i[0]}function f(d,c){return o[3]=d[c],o[2]=d[c+1],o[1]=d[c+2],o[0]=d[c+3],i[0]}p.readFloatLE=e?r:f,p.readFloatBE=e?f:r}():function(){function i(e,t,n,r){var f=t<0?1:0;if(f&&(t=-t),t===0)e(1/t>0?0:2147483648,n,r);else if(isNaN(t))e(2143289344,n,r);else if(t>34028234663852886e22)e((f<<31|2139095040)>>>0,n,r);else if(t<11754943508222875e-54)e((f<<31|Math.round(t/1401298464324817e-60))>>>0,n,r);else{var d=Math.floor(Math.log(t)/Math.LN2),c=Math.round(t*Math.pow(2,-d)*8388608)&8388607;e((f<<31|d+127<<23|c)>>>0,n,r)}}p.writeFloatLE=i.bind(null,bi),p.writeFloatBE=i.bind(null,yi);function o(e,t,n){var r=e(t,n),f=(r>>31)*2+1,d=r>>>23&255,c=r&8388607;return d===255?c?NaN:f*(1/0):d===0?f*1401298464324817e-60*c:f*Math.pow(2,d-150)*(c+8388608)}p.readFloatLE=o.bind(null,_i),p.readFloatBE=o.bind(null,Oi)}(),typeof Float64Array<"u"?function(){var i=new Float64Array([-0]),o=new Uint8Array(i.buffer),e=o[7]===128;function t(d,c,w){i[0]=d,c[w]=o[0],c[w+1]=o[1],c[w+2]=o[2],c[w+3]=o[3],c[w+4]=o[4],c[w+5]=o[5],c[w+6]=o[6],c[w+7]=o[7]}function n(d,c,w){i[0]=d,c[w]=o[7],c[w+1]=o[6],c[w+2]=o[5],c[w+3]=o[4],c[w+4]=o[3],c[w+5]=o[2],c[w+6]=o[1],c[w+7]=o[0]}p.writeDoubleLE=e?t:n,p.writeDoubleBE=e?n:t;function r(d,c){return o[0]=d[c],o[1]=d[c+1],o[2]=d[c+2],o[3]=d[c+3],o[4]=d[c+4],o[5]=d[c+5],o[6]=d[c+6],o[7]=d[c+7],i[0]}function f(d,c){return o[7]=d[c],o[6]=d[c+1],o[5]=d[c+2],o[4]=d[c+3],o[3]=d[c+4],o[2]=d[c+5],o[1]=d[c+6],o[0]=d[c+7],i[0]}p.readDoubleLE=e?r:f,p.readDoubleBE=e?f:r}():function(){function i(e,t,n,r,f,d){var c=r<0?1:0;if(c&&(r=-r),r===0)e(0,f,d+t),e(1/r>0?0:2147483648,f,d+n);else if(isNaN(r))e(0,f,d+t),e(2146959360,f,d+n);else if(r>17976931348623157e292)e(0,f,d+t),e((c<<31|2146435072)>>>0,f,d+n);else{var w;if(r<22250738585072014e-324)w=r/5e-324,e(w>>>0,f,d+t),e((c<<31|w/4294967296)>>>0,f,d+n);else{var B=Math.floor(Math.log(r)/Math.LN2);B===1024&&(B=1023),w=r*Math.pow(2,-B),e(w*4503599627370496>>>0,f,d+t),e((c<<31|B+1023<<20|w*1048576&1048575)>>>0,f,d+n)}}}p.writeDoubleLE=i.bind(null,bi,0,4),p.writeDoubleBE=i.bind(null,yi,4,0);function o(e,t,n,r,f){var d=e(r,f+t),c=e(r,f+n),w=(c>>31)*2+1,B=c>>>20&2047,j=4294967296*(c&1048575)+d;return B===2047?j?NaN:w*(1/0):B===0?w*5e-324*j:w*Math.pow(2,B-1075)*(j+4503599627370496)}p.readDoubleLE=o.bind(null,_i,0,4),p.readDoubleBE=o.bind(null,Oi,4,0)}(),p}function bi(p,i,o){i[o]=p&255,i[o+1]=p>>>8&255,i[o+2]=p>>>16&255,i[o+3]=p>>>24}function yi(p,i,o){i[o]=p>>>24,i[o+1]=p>>>16&255,i[o+2]=p>>>8&255,i[o+3]=p&255}function _i(p,i){return(p[i]|p[i+1]<<8|p[i+2]<<16|p[i+3]<<24)>>>0}function Oi(p,i){return(p[i]<<24|p[i+1]<<16|p[i+2]<<8|p[i+3])>>>0}});var vi=Te((Mo,xi)=>{"use strict";xi.exports=Ir;function Ir(p){try{if(typeof Pt!="function")return null;var i=Pt(p);return i&&(i.length||Object.keys(i).length)?i:null}catch{return null}}});var Pi=Te(mi=>{"use strict";var yn=mi,bn="\uFFFD";yn.length=function(i){for(var o=0,e=0,t=0;t=192&&r<224){var f=(r&31)<<6|i[n++]&63;t+=f>=128?String.fromCharCode(f):bn}else if(r>=224&&r<240){var d=(r&15)<<12|(i[n++]&63)<<6|i[n++]&63;t+=d>=2048?String.fromCharCode(d):bn}else if(r>=240){var c=(r&7)<<18|(i[n++]&63)<<12|(i[n++]&63)<<6|i[n++]&63;c<65536||c>1114111?t+=bn:(c-=65536,t+=String.fromCharCode(55296+(c>>10)),t+=String.fromCharCode(56320+(c&1023)))}}return t};yn.write=function(i,o,e){for(var t=e,n,r,f=0;f>6|192,o[e++]=n&63|128):(n&64512)===55296&&((r=i.charCodeAt(f+1))&64512)===56320?(n=65536+((n&1023)<<10)+(r&1023),++f,o[e++]=n>>18|240,o[e++]=n>>12&63|128,o[e++]=n>>6&63|128,o[e++]=n&63|128):(o[e++]=n>>12|224,o[e++]=n>>6&63|128,o[e++]=n&63|128);return e-t}});var Ei=Te((Uo,Si)=>{"use strict";Si.exports=Jr;function Jr(p,i,o){var e=o||8192,t=e>>>1,n=null,r=e;return function(d){if(d<1||d>t)return p(d);r+d>e&&(n=p(e),r=0);var c=i.call(n,r,r+=d);return r&7&&(r=(r|7)+1),c}}});var Di=Te((Ho,Ti)=>{"use strict";Ti.exports=Le;var Et=lt();function Le(p,i){this.lo=p>>>0,this.hi=i>>>0}var st=Le.zero=new Le(0,0);st.toNumber=function(){return 0};st.zzEncode=st.zzDecode=function(){return this};st.length=function(){return 1};var Ur=Le.zeroHash="\0\0\0\0\0\0\0\0";Le.fromNumber=function(i){if(i===0)return st;var o=i<0;o&&(i=-i);var e=i>>>0,t=(i-e)/4294967296>>>0;return o&&(t=~t>>>0,e=~e>>>0,++e>4294967295&&(e=0,++t>4294967295&&(t=0))),new Le(e,t)};Le.from=function(i){if(typeof i=="number")return Le.fromNumber(i);if(Et.isString(i))if(Et.Long)i=Et.Long.fromString(i);else return Le.fromNumber(parseInt(i,10));return i.low||i.high?new Le(i.low>>>0,i.high>>>0):st};Le.prototype.toNumber=function(i){if(!i&&this.hi>>>31){var o=~this.lo+1>>>0,e=~this.hi>>>0;return o||(e=e+1>>>0),-(o+e*4294967296)}return this.lo+this.hi*4294967296};Le.prototype.toLong=function(i){return Et.Long?new Et.Long(this.lo|0,this.hi|0,!!i):{low:this.lo|0,high:this.hi|0,unsigned:!!i}};var ft=String.prototype.charCodeAt;Le.fromHash=function(i){return i===Ur?st:new Le((ft.call(i,0)|ft.call(i,1)<<8|ft.call(i,2)<<16|ft.call(i,3)<<24)>>>0,(ft.call(i,4)|ft.call(i,5)<<8|ft.call(i,6)<<16|ft.call(i,7)<<24)>>>0)};Le.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};Le.prototype.zzEncode=function(){var i=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^i)>>>0,this.lo=(this.lo<<1^i)>>>0,this};Le.prototype.zzDecode=function(){var i=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^i)>>>0,this.hi=(this.hi>>>1^i)>>>0,this};Le.prototype.length=function(){var i=this.lo,o=(this.lo>>>28|this.hi<<4)>>>0,e=this.hi>>>24;return e===0?o===0?i<16384?i<128?1:2:i<2097152?3:4:o<16384?o<128?5:6:o<2097152?7:8:e<128?9:10}});var lt=Te(_n=>{"use strict";var $=_n;$.asPromise=fi();$.base64=ai();$.EventEmitter=pi();$.float=ki();$.inquire=vi();$.utf8=Pi();$.pool=Ei();$.LongBits=Di();$.isNode=!!(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node);$.global=$.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||_n;$.emptyArray=Object.freeze?Object.freeze([]):[];$.emptyObject=Object.freeze?Object.freeze({}):{};$.isInteger=Number.isInteger||function(i){return typeof i=="number"&&isFinite(i)&&Math.floor(i)===i};$.isString=function(i){return typeof i=="string"||i instanceof String};$.isObject=function(i){return i&&typeof i=="object"};$.isset=$.isSet=function(i,o){var e=i[o];return e!=null&&i.hasOwnProperty(o)?typeof e!="object"||(Array.isArray(e)?e.length:Object.keys(e).length)>0:!1};$.Buffer=function(){try{var p=$.inquire("buffer").Buffer;return p.prototype.utf8Write?p:null}catch{return null}}();$._Buffer_from=null;$._Buffer_allocUnsafe=null;$.newBuffer=function(i){return typeof i=="number"?$.Buffer?$._Buffer_allocUnsafe(i):new $.Array(i):$.Buffer?$._Buffer_from(i):typeof Uint8Array>"u"?i:new Uint8Array(i)};$.Array=typeof Uint8Array<"u"?Uint8Array:Array;$.Long=$.global.dcodeIO&&$.global.dcodeIO.Long||$.global.Long||$.inquire("long");$.key2Re=/^true|false|0|1$/;$.key32Re=/^-?(?:0|[1-9][0-9]*)$/;$.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;$.longToHash=function(i){return i?$.LongBits.from(i).toHash():$.LongBits.zeroHash};$.longFromHash=function(i,o){var e=$.LongBits.fromHash(i);return $.Long?$.Long.fromBits(e.lo,e.hi,o):e.toNumber(!!o)};function Ri(p,i,o){for(var e=Object.keys(i),t=0;t-1;--n)if(o[t[n]]===1&&this[t[n]]!==void 0&&this[t[n]]!==null)return t[n]}};$.oneOfSetter=function(i){return function(o){for(var e=0;e{"use strict";Ai.exports=be;var He=lt(),On,zt=He.LongBits,Fi=He.base64,qi=He.utf8;function Tt(p,i,o){this.fn=p,this.len=i,this.next=void 0,this.val=o}function kn(){}function Hr(p){this.head=p.head,this.tail=p.tail,this.len=p.len,this.next=p.states}function be(){this.len=0,this.head=new Tt(kn,0,0),this.tail=this.head,this.states=null}var Ni=function(){return He.Buffer?function(){return(be.create=function(){return new On})()}:function(){return new be}};be.create=Ni();be.alloc=function(i){return new He.Array(i)};He.Array!==Array&&(be.alloc=He.pool(be.alloc,He.Array.prototype.subarray));be.prototype._push=function(i,o,e){return this.tail=this.tail.next=new Tt(i,o,e),this.len+=o,this};function xn(p,i,o){i[o]=p&255}function $r(p,i,o){for(;p>127;)i[o++]=p&127|128,p>>>=7;i[o]=p}function vn(p,i){this.len=p,this.next=void 0,this.val=i}vn.prototype=Object.create(Tt.prototype);vn.prototype.fn=$r;be.prototype.uint32=function(i){return this.len+=(this.tail=this.tail.next=new vn((i=i>>>0)<128?1:i<16384?2:i<2097152?3:i<268435456?4:5,i)).len,this};be.prototype.int32=function(i){return i<0?this._push(mn,10,zt.fromNumber(i)):this.uint32(i)};be.prototype.sint32=function(i){return this.uint32((i<<1^i>>31)>>>0)};function mn(p,i,o){for(;p.hi;)i[o++]=p.lo&127|128,p.lo=(p.lo>>>7|p.hi<<25)>>>0,p.hi>>>=7;for(;p.lo>127;)i[o++]=p.lo&127|128,p.lo=p.lo>>>7;i[o++]=p.lo}be.prototype.uint64=function(i){var o=zt.from(i);return this._push(mn,o.length(),o)};be.prototype.int64=be.prototype.uint64;be.prototype.sint64=function(i){var o=zt.from(i).zzEncode();return this._push(mn,o.length(),o)};be.prototype.bool=function(i){return this._push(xn,1,i?1:0)};function wn(p,i,o){i[o]=p&255,i[o+1]=p>>>8&255,i[o+2]=p>>>16&255,i[o+3]=p>>>24}be.prototype.fixed32=function(i){return this._push(wn,4,i>>>0)};be.prototype.sfixed32=be.prototype.fixed32;be.prototype.fixed64=function(i){var o=zt.from(i);return this._push(wn,4,o.lo)._push(wn,4,o.hi)};be.prototype.sfixed64=be.prototype.fixed64;be.prototype.float=function(i){return this._push(He.float.writeFloatLE,4,i)};be.prototype.double=function(i){return this._push(He.float.writeDoubleLE,8,i)};var zr=He.Array.prototype.set?function(i,o,e){o.set(i,e)}:function(i,o,e){for(var t=0;t>>0;if(!o)return this._push(xn,1,0);if(He.isString(i)){var e=be.alloc(o=Fi.length(i));Fi.decode(i,e,0),i=e}return this.uint32(o)._push(zr,o,i)};be.prototype.string=function(i){var o=qi.length(i);return o?this.uint32(o)._push(qi.write,o,i):this._push(xn,1,0)};be.prototype.fork=function(){return this.states=new Hr(this),this.head=this.tail=new Tt(kn,0,0),this.len=0,this};be.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Tt(kn,0,0),this.len=0),this};be.prototype.ldelim=function(){var i=this.head,o=this.tail,e=this.len;return this.reset().uint32(e),e&&(this.tail.next=i.next,this.tail=o,this.len+=e),this};be.prototype.finish=function(){for(var i=this.head.next,o=this.constructor.alloc(this.len),e=0;i;)i.fn(i.val,o,e),e+=i.len,i=i.next;return o};be._configure=function(p){On=p,be.create=Ni(),On._configure()}});var Bi=Te((Ko,Ci)=>{"use strict";Ci.exports=tt;var ji=Pn();(tt.prototype=Object.create(ji.prototype)).constructor=tt;var ct=lt();function tt(){ji.call(this)}tt._configure=function(){tt.alloc=ct._Buffer_allocUnsafe,tt.writeBytesBuffer=ct.Buffer&&ct.Buffer.prototype instanceof Uint8Array&&ct.Buffer.prototype.set.name==="set"?function(i,o,e){o.set(i,e)}:function(i,o,e){if(i.copy)i.copy(o,e,0,i.length);else for(var t=0;t>>0;return this.uint32(o),o&&this._push(tt.writeBytesBuffer,o,i),this};function Kr(p,i,o){p.length<40?ct.utf8.write(p,i,o):i.utf8Write?i.utf8Write(p,o):i.write(p,o)}tt.prototype.string=function(i){var o=ct.Buffer.byteLength(i);return this.uint32(o),o&&this._push(Kr,o,i),this};tt._configure()});var Tn=Te((Vo,Hi)=>{"use strict";Hi.exports=ve;var $e=lt(),En,Ji=$e.LongBits,Vr=$e.utf8;function Ge(p,i){return RangeError("index out of range: "+p.pos+" + "+(i||1)+" > "+p.len)}function ve(p){this.buf=p,this.pos=0,this.len=p.length}var Mi=typeof Uint8Array<"u"?function(i){if(i instanceof Uint8Array||Array.isArray(i))return new ve(i);throw Error("illegal buffer")}:function(i){if(Array.isArray(i))return new ve(i);throw Error("illegal buffer")},Ui=function(){return $e.Buffer?function(o){return(ve.create=function(t){return $e.Buffer.isBuffer(t)?new En(t):Mi(t)})(o)}:Mi};ve.create=Ui();ve.prototype._slice=$e.Array.prototype.subarray||$e.Array.prototype.slice;ve.prototype.uint32=function(){var i=4294967295;return function(){if(i=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(i=(i|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(i=(i|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(i=(i|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(i=(i|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return i;if((this.pos+=5)>this.len)throw this.pos=this.len,Ge(this,10);return i}}();ve.prototype.int32=function(){return this.uint32()|0};ve.prototype.sint32=function(){var i=this.uint32();return i>>>1^-(i&1)|0};function Sn(){var p=new Ji(0,0),i=0;if(this.len-this.pos>4){for(;i<4;++i)if(p.lo=(p.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return p;if(p.lo=(p.lo|(this.buf[this.pos]&127)<<28)>>>0,p.hi=(p.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return p;i=0}else{for(;i<3;++i){if(this.pos>=this.len)throw Ge(this);if(p.lo=(p.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return p}return p.lo=(p.lo|(this.buf[this.pos++]&127)<>>0,p}if(this.len-this.pos>4){for(;i<5;++i)if(p.hi=(p.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return p}else for(;i<5;++i){if(this.pos>=this.len)throw Ge(this);if(p.hi=(p.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return p}throw Error("invalid varint encoding")}ve.prototype.bool=function(){return this.uint32()!==0};function Kt(p,i){return(p[i-4]|p[i-3]<<8|p[i-2]<<16|p[i-1]<<24)>>>0}ve.prototype.fixed32=function(){if(this.pos+4>this.len)throw Ge(this,4);return Kt(this.buf,this.pos+=4)};ve.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Ge(this,4);return Kt(this.buf,this.pos+=4)|0};function Ii(){if(this.pos+8>this.len)throw Ge(this,8);return new Ji(Kt(this.buf,this.pos+=4),Kt(this.buf,this.pos+=4))}ve.prototype.float=function(){if(this.pos+4>this.len)throw Ge(this,4);var i=$e.float.readFloatLE(this.buf,this.pos);return this.pos+=4,i};ve.prototype.double=function(){if(this.pos+8>this.len)throw Ge(this,4);var i=$e.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,i};ve.prototype.bytes=function(){var i=this.uint32(),o=this.pos,e=this.pos+i;if(e>this.len)throw Ge(this,i);if(this.pos+=i,Array.isArray(this.buf))return this.buf.slice(o,e);if(o===e){var t=$e.Buffer;return t?t.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,o,e)};ve.prototype.string=function(){var i=this.bytes();return Vr.read(i,0,i.length)};ve.prototype.skip=function(i){if(typeof i=="number"){if(this.pos+i>this.len)throw Ge(this,i);this.pos+=i}else do if(this.pos>=this.len)throw Ge(this);while(this.buf[this.pos++]&128);return this};ve.recursionLimit=$e.recursionLimit;ve.prototype.skipType=function(p,i){if(i===void 0&&(i=0),i>ve.recursionLimit)throw Error("maximum nesting depth exceeded");switch(p){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(p=this.uint32()&7)!==4;)this.skipType(p,i+1);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+p+" at offset "+this.pos)}return this};ve._configure=function(p){En=p,ve.create=Ui(),En._configure();var i=$e.Long?"toLong":"toNumber";$e.merge(ve.prototype,{int64:function(){return Sn.call(this)[i](!1)},uint64:function(){return Sn.call(this)[i](!0)},sint64:function(){return Sn.call(this).zzDecode()[i](!1)},fixed64:function(){return Ii.call(this)[i](!0)},sfixed64:function(){return Ii.call(this)[i](!1)}})}});var Vi=Te((Yo,Ki)=>{"use strict";Ki.exports=pt;var zi=Tn();(pt.prototype=Object.create(zi.prototype)).constructor=pt;var $i=lt();function pt(p){zi.call(this,p)}pt._configure=function(){$i.Buffer&&(pt.prototype._slice=$i.Buffer.prototype.slice)};pt.prototype.string=function(){var i=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+i,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+i,this.len))};pt._configure()});var Wi=Te((Wo,Yi)=>{"use strict";Yi.exports=Dt;var Dn=lt();(Dt.prototype=Object.create(Dn.EventEmitter.prototype)).constructor=Dt;function Dt(p,i,o){if(typeof p!="function")throw TypeError("rpcImpl must be a function");Dn.EventEmitter.call(this),this.rpcImpl=p,this.requestDelimited=!!i,this.responseDelimited=!!o}Dt.prototype.rpcCall=function p(i,o,e,t,n){if(!t)throw TypeError("request must be specified");var r=this;if(!n)return Dn.asPromise(p,r,i,o,e,t);if(!r.rpcImpl){setTimeout(function(){n(Error("already ended"))},0);return}try{return r.rpcImpl(i,o[r.requestDelimited?"encodeDelimited":"encode"](t).finish(),function(d,c){if(d)return r.emit("error",d,i),n(d);if(c===null){r.end(!0);return}if(!(c instanceof e))try{c=e[r.responseDelimited?"decodeDelimited":"decode"](c)}catch(w){return r.emit("error",w,i),n(w)}return r.emit("data",c,i),n(null,c)})}catch(f){r.emit("error",f,i),setTimeout(function(){n(f)},0);return}};Dt.prototype.end=function(i){return this.rpcImpl&&(i||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}});var Xi=Te(Gi=>{"use strict";var Yr=Gi;Yr.Service=Wi()});var Zi=Te((Xo,Qi)=>{"use strict";Qi.exports={}});var tr=Te(er=>{"use strict";var je=er;je.build="minimal";je.Writer=Pn();je.BufferWriter=Bi();je.Reader=Tn();je.BufferReader=Vi();je.util=lt();je.rpc=Xi();je.roots=Zi();je.configure=gi;function gi(){je.util._configure(),je.Writer._configure(je.BufferWriter),je.Reader._configure(je.BufferReader)}gi()});var ir=Te((Zo,nr)=>{"use strict";nr.exports=tr()});var Me=$n(Kn(),1);function qr(p){return p instanceof Uint8Array||ArrayBuffer.isView(p)&&p.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in p&&p.BYTES_PER_ELEMENT===1}function cn(p,i,o=""){let e=qr(p),t=p?.length,n=i!==void 0;if(!e||n&&t!==i){let r=o&&`"${o}" `,f=n?` of length ${i}`:"",d=e?`length=${t}`:`type=${typeof p}`,c=r+"expected Uint8Array"+f+", got "+d;throw e?new RangeError(c):new TypeError(c)}return p}function dn(p,i=!0){if(p.destroyed)throw new Error("Hash instance has been destroyed");if(i&&p.finished)throw new Error("Hash#digest() has already been called")}function Vn(p,i){cn(p,void 0,"digestInto() output");let o=i.outputLen;if(p.length='+o)}function St(...p){for(let i=0;i>>i}function Yn(p,i={}){let o=(t,n)=>p(n).update(t).digest(),e=p(void 0);return o.outputLen=e.outputLen,o.blockLen=e.blockLen,o.canXOF=e.canXOF,o.create=t=>p(t),Object.assign(o,i),Object.freeze(o)}var Wn=p=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,p])});function Gn(p,i,o){return p&i^~p&o}function Xn(p,i,o){return p&i^p&o^i&o}var Jt=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(i,o,e,t){this.blockLen=i,this.outputLen=o,this.padOffset=e,this.isLE=t,this.buffer=new Uint8Array(i),this.view=It(this.buffer)}update(i){dn(this),cn(i);let{view:o,buffer:e,blockLen:t}=this,n=i.length;for(let r=0;rt-r&&(this.process(e,0),r=0);for(let B=r;Bw.length)throw new Error("_sha2: outputLen bigger than state");for(let B=0;B>>3,ce=Ye(K,17)^Ye(K,19)^K>>>10;ut[B]=ce+ut[B-7]+V+ut[B-16]|0}let{A:e,B:t,C:n,D:r,E:f,F:d,G:c,H:w}=this;for(let B=0;B<64;B++){let j=Ye(f,6)^Ye(f,11)^Ye(f,25),K=w+j+Gn(f,d,c)+Nr[B]+ut[B]|0,ce=(Ye(e,2)^Ye(e,13)^Ye(e,22))+Xn(e,t,n)|0;w=c,c=d,d=f,f=r+K|0,r=n,n=t,t=e,e=K+ce|0}e=e+this.A|0,t=t+this.B|0,n=n+this.C|0,r=r+this.D|0,f=f+this.E|0,d=d+this.F|0,c=c+this.G|0,w=w+this.H|0,this.set(e,t,n,r,f,d,c,w)}roundClean(){St(ut)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),St(this.buffer)}},sn=class extends an{A=ot[0]|0;B=ot[1]|0;C=ot[2]|0;D=ot[3]|0;E=ot[4]|0;F=ot[5]|0;G=ot[6]|0;H=ot[7]|0;constructor(){super(32)}};var Qn=Yn(()=>new sn,Wn(1));var Zn=Promise.resolve(),Ar=Me.default.sign.publicKeyLength,Lo=Me.default.box.publicKeyLength,Fo=Me.default.box.secretKeyLength,jr=Me.default.box.nonceLength,Cr=Me.default.secretbox.keyLength,Br=Me.default.secretbox.nonceLength;function Ut(p,i){if(i.length!==Ar)throw new Error(`signOpen: bad pk length ${i.length}`);let o=Me.default.sign.open(p,i);if(!o)throw new Error("signOpen: signature verification failed");return o}function gn(){let p=Me.default.box.keyPair();return{publicKey:p.publicKey,secretKey:p.secretKey}}function ei(){return Me.default.randomBytes(Cr)}function ti(p,i,o){let e=new Uint8Array(jr);return Me.default.box(p,e,i,o)}function ni(p,i,o){return Me.default.secretbox(p,ri(i),o)}function ii(p,i,o){let e=Me.default.secretbox.open(p,ri(i),o);if(!e)throw new Error("secretboxOpen: authentication failed");return e}function ri(p){let i=new Uint8Array(Br);return new DataView(i.buffer).setBigUint64(0,p,!0),i}function pn(p){return Qn(p)}function hn(p,i){let o=new Uint8Array(p.length+i.length);return o.set(p,0),o.set(i,p.length),o}function oi(p){let i=atob(p),o=new Uint8Array(i.length);for(let e=0;e{let p={};return p.RegisterPeer=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.RegisterPeer;for(;e.pos>>3){case 1:{d.id=e.string();break}case 2:{d.serial=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!l.isString(e.id)?"id: string expected":e.serial!=null&&e.hasOwnProperty("serial")&&!l.isInteger(e.serial)?"serial: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.RegisterPeer)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.RegisterPeer;return e.id!=null&&(n.id=String(e.id)),e.serial!=null&&(n.serial=e.serial|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id="",n.serial=0),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.serial!=null&&e.hasOwnProperty("serial")&&(n.serial=e.serial),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.RegisterPeer"},i}(),p.ConnType=function(){let i={},o=Object.create(i);return o[i[0]="DEFAULT_CONN"]=0,o[i[1]="FILE_TRANSFER"]=1,o[i[2]="PORT_FORWARD"]=2,o[i[3]="RDP"]=3,o[i[4]="VIEW_CAMERA"]=4,o}(),p.RegisterPeerResponse=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.RegisterPeerResponse;for(;e.pos>>3){case 2:{d.request_pk=e.bool();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.request_pk!=null&&e.hasOwnProperty("request_pk")&&typeof e.request_pk!="boolean"?"request_pk: boolean expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.RegisterPeerResponse)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.RegisterPeerResponse;return e.request_pk!=null&&(n.request_pk=!!e.request_pk),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.request_pk=!1),e.request_pk!=null&&e.hasOwnProperty("request_pk")&&(n.request_pk=e.request_pk),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.RegisterPeerResponse"},i}(),p.PunchHoleRequest=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.PunchHoleRequest;for(;e.pos>>3){case 1:{d.id=e.string();break}case 2:{d.nat_type=e.int32();break}case 3:{d.licence_key=e.string();break}case 4:{d.conn_type=e.int32();break}case 5:{d.token=e.string();break}case 6:{d.version=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.id!=null&&e.hasOwnProperty("id")&&!l.isString(e.id))return"id: string expected";if(e.nat_type!=null&&e.hasOwnProperty("nat_type"))switch(e.nat_type){default:return"nat_type: enum value expected";case 0:case 1:case 2:break}if(e.licence_key!=null&&e.hasOwnProperty("licence_key")&&!l.isString(e.licence_key))return"licence_key: string expected";if(e.conn_type!=null&&e.hasOwnProperty("conn_type"))switch(e.conn_type){default:return"conn_type: enum value expected";case 0:case 1:case 2:case 3:case 4:break}return e.token!=null&&e.hasOwnProperty("token")&&!l.isString(e.token)?"token: string expected":e.version!=null&&e.hasOwnProperty("version")&&!l.isString(e.version)?"version: string expected":null},i.fromObject=function(e,t){if(e instanceof u.hbb.PunchHoleRequest)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.PunchHoleRequest;switch(e.id!=null&&(n.id=String(e.id)),e.nat_type){default:if(typeof e.nat_type=="number"){n.nat_type=e.nat_type;break}break;case"UNKNOWN_NAT":case 0:n.nat_type=0;break;case"ASYMMETRIC":case 1:n.nat_type=1;break;case"SYMMETRIC":case 2:n.nat_type=2;break}switch(e.licence_key!=null&&(n.licence_key=String(e.licence_key)),e.conn_type){default:if(typeof e.conn_type=="number"){n.conn_type=e.conn_type;break}break;case"DEFAULT_CONN":case 0:n.conn_type=0;break;case"FILE_TRANSFER":case 1:n.conn_type=1;break;case"PORT_FORWARD":case 2:n.conn_type=2;break;case"RDP":case 3:n.conn_type=3;break;case"VIEW_CAMERA":case 4:n.conn_type=4;break}return e.token!=null&&(n.token=String(e.token)),e.version!=null&&(n.version=String(e.version)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id="",n.nat_type=t.enums===String?"UNKNOWN_NAT":0,n.licence_key="",n.conn_type=t.enums===String?"DEFAULT_CONN":0,n.token="",n.version=""),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.nat_type!=null&&e.hasOwnProperty("nat_type")&&(n.nat_type=t.enums===String?u.hbb.NatType[e.nat_type]===void 0?e.nat_type:u.hbb.NatType[e.nat_type]:e.nat_type),e.licence_key!=null&&e.hasOwnProperty("licence_key")&&(n.licence_key=e.licence_key),e.conn_type!=null&&e.hasOwnProperty("conn_type")&&(n.conn_type=t.enums===String?u.hbb.ConnType[e.conn_type]===void 0?e.conn_type:u.hbb.ConnType[e.conn_type]:e.conn_type),e.token!=null&&e.hasOwnProperty("token")&&(n.token=e.token),e.version!=null&&e.hasOwnProperty("version")&&(n.version=e.version),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.PunchHoleRequest"},i}(),p.PunchHole=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.PunchHole;for(;e.pos>>3){case 1:{d.socket_addr=e.bytes();break}case 2:{d.relay_server=e.string();break}case 3:{d.nat_type=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.socket_addr!=null&&e.hasOwnProperty("socket_addr")&&!(e.socket_addr&&typeof e.socket_addr.length=="number"||l.isString(e.socket_addr)))return"socket_addr: buffer expected";if(e.relay_server!=null&&e.hasOwnProperty("relay_server")&&!l.isString(e.relay_server))return"relay_server: string expected";if(e.nat_type!=null&&e.hasOwnProperty("nat_type"))switch(e.nat_type){default:return"nat_type: enum value expected";case 0:case 1:case 2:break}return null},i.fromObject=function(e,t){if(e instanceof u.hbb.PunchHole)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.PunchHole;switch(e.socket_addr!=null&&(typeof e.socket_addr=="string"?l.base64.decode(e.socket_addr,n.socket_addr=l.newBuffer(l.base64.length(e.socket_addr)),0):e.socket_addr.length>=0&&(n.socket_addr=e.socket_addr)),e.relay_server!=null&&(n.relay_server=String(e.relay_server)),e.nat_type){default:if(typeof e.nat_type=="number"){n.nat_type=e.nat_type;break}break;case"UNKNOWN_NAT":case 0:n.nat_type=0;break;case"ASYMMETRIC":case 1:n.nat_type=1;break;case"SYMMETRIC":case 2:n.nat_type=2;break}return n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(t.bytes===String?n.socket_addr="":(n.socket_addr=[],t.bytes!==Array&&(n.socket_addr=l.newBuffer(n.socket_addr))),n.relay_server="",n.nat_type=t.enums===String?"UNKNOWN_NAT":0),e.socket_addr!=null&&e.hasOwnProperty("socket_addr")&&(n.socket_addr=t.bytes===String?l.base64.encode(e.socket_addr,0,e.socket_addr.length):t.bytes===Array?Array.prototype.slice.call(e.socket_addr):e.socket_addr),e.relay_server!=null&&e.hasOwnProperty("relay_server")&&(n.relay_server=e.relay_server),e.nat_type!=null&&e.hasOwnProperty("nat_type")&&(n.nat_type=t.enums===String?u.hbb.NatType[e.nat_type]===void 0?e.nat_type:u.hbb.NatType[e.nat_type]:e.nat_type),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.PunchHole"},i}(),p.TestNatRequest=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.TestNatRequest;for(;e.pos>>3){case 1:{d.serial=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.serial!=null&&e.hasOwnProperty("serial")&&!l.isInteger(e.serial)?"serial: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.TestNatRequest)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.TestNatRequest;return e.serial!=null&&(n.serial=e.serial|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.serial=0),e.serial!=null&&e.hasOwnProperty("serial")&&(n.serial=e.serial),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.TestNatRequest"},i}(),p.TestNatResponse=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.TestNatResponse;for(;e.pos>>3){case 1:{d.port=e.int32();break}case 2:{d.cu=u.hbb.ConfigUpdate.decode(e,e.uint32(),void 0,r+1);break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.port!=null&&e.hasOwnProperty("port")&&!l.isInteger(e.port))return"port: integer expected";if(e.cu!=null&&e.hasOwnProperty("cu")){let n=u.hbb.ConfigUpdate.verify(e.cu,t+1);if(n)return"cu."+n}return null},i.fromObject=function(e,t){if(e instanceof u.hbb.TestNatResponse)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.TestNatResponse;if(e.port!=null&&(n.port=e.port|0),e.cu!=null){if(typeof e.cu!="object")throw TypeError(".hbb.TestNatResponse.cu: object expected");n.cu=u.hbb.ConfigUpdate.fromObject(e.cu,t+1)}return n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.port=0,n.cu=null),e.port!=null&&e.hasOwnProperty("port")&&(n.port=e.port),e.cu!=null&&e.hasOwnProperty("cu")&&(n.cu=u.hbb.ConfigUpdate.toObject(e.cu,t)),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.TestNatResponse"},i}(),p.NatType=function(){let i={},o=Object.create(i);return o[i[0]="UNKNOWN_NAT"]=0,o[i[1]="ASYMMETRIC"]=1,o[i[2]="SYMMETRIC"]=2,o}(),p.PunchHoleSent=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.PunchHoleSent;for(;e.pos>>3){case 1:{d.socket_addr=e.bytes();break}case 2:{d.id=e.string();break}case 3:{d.relay_server=e.string();break}case 4:{d.nat_type=e.int32();break}case 5:{d.version=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.socket_addr!=null&&e.hasOwnProperty("socket_addr")&&!(e.socket_addr&&typeof e.socket_addr.length=="number"||l.isString(e.socket_addr)))return"socket_addr: buffer expected";if(e.id!=null&&e.hasOwnProperty("id")&&!l.isString(e.id))return"id: string expected";if(e.relay_server!=null&&e.hasOwnProperty("relay_server")&&!l.isString(e.relay_server))return"relay_server: string expected";if(e.nat_type!=null&&e.hasOwnProperty("nat_type"))switch(e.nat_type){default:return"nat_type: enum value expected";case 0:case 1:case 2:break}return e.version!=null&&e.hasOwnProperty("version")&&!l.isString(e.version)?"version: string expected":null},i.fromObject=function(e,t){if(e instanceof u.hbb.PunchHoleSent)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.PunchHoleSent;switch(e.socket_addr!=null&&(typeof e.socket_addr=="string"?l.base64.decode(e.socket_addr,n.socket_addr=l.newBuffer(l.base64.length(e.socket_addr)),0):e.socket_addr.length>=0&&(n.socket_addr=e.socket_addr)),e.id!=null&&(n.id=String(e.id)),e.relay_server!=null&&(n.relay_server=String(e.relay_server)),e.nat_type){default:if(typeof e.nat_type=="number"){n.nat_type=e.nat_type;break}break;case"UNKNOWN_NAT":case 0:n.nat_type=0;break;case"ASYMMETRIC":case 1:n.nat_type=1;break;case"SYMMETRIC":case 2:n.nat_type=2;break}return e.version!=null&&(n.version=String(e.version)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(t.bytes===String?n.socket_addr="":(n.socket_addr=[],t.bytes!==Array&&(n.socket_addr=l.newBuffer(n.socket_addr))),n.id="",n.relay_server="",n.nat_type=t.enums===String?"UNKNOWN_NAT":0,n.version=""),e.socket_addr!=null&&e.hasOwnProperty("socket_addr")&&(n.socket_addr=t.bytes===String?l.base64.encode(e.socket_addr,0,e.socket_addr.length):t.bytes===Array?Array.prototype.slice.call(e.socket_addr):e.socket_addr),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.relay_server!=null&&e.hasOwnProperty("relay_server")&&(n.relay_server=e.relay_server),e.nat_type!=null&&e.hasOwnProperty("nat_type")&&(n.nat_type=t.enums===String?u.hbb.NatType[e.nat_type]===void 0?e.nat_type:u.hbb.NatType[e.nat_type]:e.nat_type),e.version!=null&&e.hasOwnProperty("version")&&(n.version=e.version),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.PunchHoleSent"},i}(),p.RegisterPk=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.RegisterPk;for(;e.pos>>3){case 1:{d.id=e.string();break}case 2:{d.uuid=e.bytes();break}case 3:{d.pk=e.bytes();break}case 4:{d.old_id=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!l.isString(e.id)?"id: string expected":e.uuid!=null&&e.hasOwnProperty("uuid")&&!(e.uuid&&typeof e.uuid.length=="number"||l.isString(e.uuid))?"uuid: buffer expected":e.pk!=null&&e.hasOwnProperty("pk")&&!(e.pk&&typeof e.pk.length=="number"||l.isString(e.pk))?"pk: buffer expected":e.old_id!=null&&e.hasOwnProperty("old_id")&&!l.isString(e.old_id)?"old_id: string expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.RegisterPk)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.RegisterPk;return e.id!=null&&(n.id=String(e.id)),e.uuid!=null&&(typeof e.uuid=="string"?l.base64.decode(e.uuid,n.uuid=l.newBuffer(l.base64.length(e.uuid)),0):e.uuid.length>=0&&(n.uuid=e.uuid)),e.pk!=null&&(typeof e.pk=="string"?l.base64.decode(e.pk,n.pk=l.newBuffer(l.base64.length(e.pk)),0):e.pk.length>=0&&(n.pk=e.pk)),e.old_id!=null&&(n.old_id=String(e.old_id)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id="",t.bytes===String?n.uuid="":(n.uuid=[],t.bytes!==Array&&(n.uuid=l.newBuffer(n.uuid))),t.bytes===String?n.pk="":(n.pk=[],t.bytes!==Array&&(n.pk=l.newBuffer(n.pk))),n.old_id=""),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.uuid!=null&&e.hasOwnProperty("uuid")&&(n.uuid=t.bytes===String?l.base64.encode(e.uuid,0,e.uuid.length):t.bytes===Array?Array.prototype.slice.call(e.uuid):e.uuid),e.pk!=null&&e.hasOwnProperty("pk")&&(n.pk=t.bytes===String?l.base64.encode(e.pk,0,e.pk.length):t.bytes===Array?Array.prototype.slice.call(e.pk):e.pk),e.old_id!=null&&e.hasOwnProperty("old_id")&&(n.old_id=e.old_id),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.RegisterPk"},i}(),p.RegisterPkResponse=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.RegisterPkResponse;for(;e.pos>>3){case 1:{d.result=e.int32();break}case 2:{d.keep_alive=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.result!=null&&e.hasOwnProperty("result"))switch(e.result){default:return"result: enum value expected";case 0:case 2:case 3:case 4:case 5:case 6:case 7:break}return e.keep_alive!=null&&e.hasOwnProperty("keep_alive")&&!l.isInteger(e.keep_alive)?"keep_alive: integer expected":null},i.fromObject=function(e,t){if(e instanceof u.hbb.RegisterPkResponse)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.RegisterPkResponse;switch(e.result){default:if(typeof e.result=="number"){n.result=e.result;break}break;case"OK":case 0:n.result=0;break;case"UUID_MISMATCH":case 2:n.result=2;break;case"ID_EXISTS":case 3:n.result=3;break;case"TOO_FREQUENT":case 4:n.result=4;break;case"INVALID_ID_FORMAT":case 5:n.result=5;break;case"NOT_SUPPORT":case 6:n.result=6;break;case"SERVER_ERROR":case 7:n.result=7;break}return e.keep_alive!=null&&(n.keep_alive=e.keep_alive|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.result=t.enums===String?"OK":0,n.keep_alive=0),e.result!=null&&e.hasOwnProperty("result")&&(n.result=t.enums===String?u.hbb.RegisterPkResponse.Result[e.result]===void 0?e.result:u.hbb.RegisterPkResponse.Result[e.result]:e.result),e.keep_alive!=null&&e.hasOwnProperty("keep_alive")&&(n.keep_alive=e.keep_alive),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.RegisterPkResponse"},i.Result=function(){let o={},e=Object.create(o);return e[o[0]="OK"]=0,e[o[2]="UUID_MISMATCH"]=2,e[o[3]="ID_EXISTS"]=3,e[o[4]="TOO_FREQUENT"]=4,e[o[5]="INVALID_ID_FORMAT"]=5,e[o[6]="NOT_SUPPORT"]=6,e[o[7]="SERVER_ERROR"]=7,e}(),i}(),p.PunchHoleResponse=function(){function i(e){if(e)for(let t=Object.keys(e),n=0;ns.recursionLimit)throw Error("maximum nesting depth exceeded");let d=n===void 0?t.len:t.pos+n,c=new u.hbb.PunchHoleResponse;for(;t.pos>>3){case 1:{c.socket_addr=t.bytes();break}case 2:{c.pk=t.bytes();break}case 3:{c.failure=t.int32();break}case 4:{c.relay_server=t.string();break}case 5:{c.nat_type=t.int32();break}case 6:{c.is_local=t.bool();break}case 7:{c.other_failure=t.string();break}case 8:{c.feedback=t.int32();break}default:t.skipType(w&7,f);break}}return c},i.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},i.verify=function(t,n){if(typeof t!="object"||t===null)return"object expected";if(n===void 0&&(n=0),n>l.recursionLimit)return"maximum nesting depth exceeded";let r={};if(t.socket_addr!=null&&t.hasOwnProperty("socket_addr")&&!(t.socket_addr&&typeof t.socket_addr.length=="number"||l.isString(t.socket_addr)))return"socket_addr: buffer expected";if(t.pk!=null&&t.hasOwnProperty("pk")&&!(t.pk&&typeof t.pk.length=="number"||l.isString(t.pk)))return"pk: buffer expected";if(t.failure!=null&&t.hasOwnProperty("failure"))switch(t.failure){default:return"failure: enum value expected";case 0:case 2:case 3:case 4:break}if(t.relay_server!=null&&t.hasOwnProperty("relay_server")&&!l.isString(t.relay_server))return"relay_server: string expected";if(t.nat_type!=null&&t.hasOwnProperty("nat_type"))switch(r.union=1,t.nat_type){default:return"nat_type: enum value expected";case 0:case 1:case 2:break}if(t.is_local!=null&&t.hasOwnProperty("is_local")){if(r.union===1)return"union: multiple values";if(r.union=1,typeof t.is_local!="boolean")return"is_local: boolean expected"}return t.other_failure!=null&&t.hasOwnProperty("other_failure")&&!l.isString(t.other_failure)?"other_failure: string expected":t.feedback!=null&&t.hasOwnProperty("feedback")&&!l.isInteger(t.feedback)?"feedback: integer expected":null},i.fromObject=function(t,n){if(t instanceof u.hbb.PunchHoleResponse)return t;if(n===void 0&&(n=0),n>l.recursionLimit)throw Error("maximum nesting depth exceeded");let r=new u.hbb.PunchHoleResponse;switch(t.socket_addr!=null&&(typeof t.socket_addr=="string"?l.base64.decode(t.socket_addr,r.socket_addr=l.newBuffer(l.base64.length(t.socket_addr)),0):t.socket_addr.length>=0&&(r.socket_addr=t.socket_addr)),t.pk!=null&&(typeof t.pk=="string"?l.base64.decode(t.pk,r.pk=l.newBuffer(l.base64.length(t.pk)),0):t.pk.length>=0&&(r.pk=t.pk)),t.failure){default:if(typeof t.failure=="number"){r.failure=t.failure;break}break;case"ID_NOT_EXIST":case 0:r.failure=0;break;case"OFFLINE":case 2:r.failure=2;break;case"LICENSE_MISMATCH":case 3:r.failure=3;break;case"LICENSE_OVERUSE":case 4:r.failure=4;break}switch(t.relay_server!=null&&(r.relay_server=String(t.relay_server)),t.nat_type){default:if(typeof t.nat_type=="number"){r.nat_type=t.nat_type;break}break;case"UNKNOWN_NAT":case 0:r.nat_type=0;break;case"ASYMMETRIC":case 1:r.nat_type=1;break;case"SYMMETRIC":case 2:r.nat_type=2;break}return t.is_local!=null&&(r.is_local=!!t.is_local),t.other_failure!=null&&(r.other_failure=String(t.other_failure)),t.feedback!=null&&(r.feedback=t.feedback|0),r},i.toObject=function(t,n){n||(n={});let r={};return n.defaults&&(n.bytes===String?r.socket_addr="":(r.socket_addr=[],n.bytes!==Array&&(r.socket_addr=l.newBuffer(r.socket_addr))),n.bytes===String?r.pk="":(r.pk=[],n.bytes!==Array&&(r.pk=l.newBuffer(r.pk))),r.failure=n.enums===String?"ID_NOT_EXIST":0,r.relay_server="",r.other_failure="",r.feedback=0),t.socket_addr!=null&&t.hasOwnProperty("socket_addr")&&(r.socket_addr=n.bytes===String?l.base64.encode(t.socket_addr,0,t.socket_addr.length):n.bytes===Array?Array.prototype.slice.call(t.socket_addr):t.socket_addr),t.pk!=null&&t.hasOwnProperty("pk")&&(r.pk=n.bytes===String?l.base64.encode(t.pk,0,t.pk.length):n.bytes===Array?Array.prototype.slice.call(t.pk):t.pk),t.failure!=null&&t.hasOwnProperty("failure")&&(r.failure=n.enums===String?u.hbb.PunchHoleResponse.Failure[t.failure]===void 0?t.failure:u.hbb.PunchHoleResponse.Failure[t.failure]:t.failure),t.relay_server!=null&&t.hasOwnProperty("relay_server")&&(r.relay_server=t.relay_server),t.nat_type!=null&&t.hasOwnProperty("nat_type")&&(r.nat_type=n.enums===String?u.hbb.NatType[t.nat_type]===void 0?t.nat_type:u.hbb.NatType[t.nat_type]:t.nat_type,n.oneofs&&(r.union="nat_type")),t.is_local!=null&&t.hasOwnProperty("is_local")&&(r.is_local=t.is_local,n.oneofs&&(r.union="is_local")),t.other_failure!=null&&t.hasOwnProperty("other_failure")&&(r.other_failure=t.other_failure),t.feedback!=null&&t.hasOwnProperty("feedback")&&(r.feedback=t.feedback),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/hbb.PunchHoleResponse"},i.Failure=function(){let e={},t=Object.create(e);return t[e[0]="ID_NOT_EXIST"]=0,t[e[2]="OFFLINE"]=2,t[e[3]="LICENSE_MISMATCH"]=3,t[e[4]="LICENSE_OVERUSE"]=4,t}(),i}(),p.ConfigUpdate=function(){function i(o){if(this.rendezvous_servers=[],o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.ConfigUpdate;for(;e.pos>>3){case 1:{d.serial=e.int32();break}case 2:{d.rendezvous_servers&&d.rendezvous_servers.length||(d.rendezvous_servers=[]),d.rendezvous_servers.push(e.string());break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.serial!=null&&e.hasOwnProperty("serial")&&!l.isInteger(e.serial))return"serial: integer expected";if(e.rendezvous_servers!=null&&e.hasOwnProperty("rendezvous_servers")){if(!Array.isArray(e.rendezvous_servers))return"rendezvous_servers: array expected";for(let n=0;nl.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.ConfigUpdate;if(e.serial!=null&&(n.serial=e.serial|0),e.rendezvous_servers){if(!Array.isArray(e.rendezvous_servers))throw TypeError(".hbb.ConfigUpdate.rendezvous_servers: array expected");n.rendezvous_servers=[];for(let r=0;rs.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.RequestRelay;for(;e.pos>>3){case 1:{d.id=e.string();break}case 2:{d.uuid=e.string();break}case 3:{d.socket_addr=e.bytes();break}case 4:{d.relay_server=e.string();break}case 5:{d.secure=e.bool();break}case 6:{d.licence_key=e.string();break}case 7:{d.conn_type=e.int32();break}case 8:{d.token=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.id!=null&&e.hasOwnProperty("id")&&!l.isString(e.id))return"id: string expected";if(e.uuid!=null&&e.hasOwnProperty("uuid")&&!l.isString(e.uuid))return"uuid: string expected";if(e.socket_addr!=null&&e.hasOwnProperty("socket_addr")&&!(e.socket_addr&&typeof e.socket_addr.length=="number"||l.isString(e.socket_addr)))return"socket_addr: buffer expected";if(e.relay_server!=null&&e.hasOwnProperty("relay_server")&&!l.isString(e.relay_server))return"relay_server: string expected";if(e.secure!=null&&e.hasOwnProperty("secure")&&typeof e.secure!="boolean")return"secure: boolean expected";if(e.licence_key!=null&&e.hasOwnProperty("licence_key")&&!l.isString(e.licence_key))return"licence_key: string expected";if(e.conn_type!=null&&e.hasOwnProperty("conn_type"))switch(e.conn_type){default:return"conn_type: enum value expected";case 0:case 1:case 2:case 3:case 4:break}return e.token!=null&&e.hasOwnProperty("token")&&!l.isString(e.token)?"token: string expected":null},i.fromObject=function(e,t){if(e instanceof u.hbb.RequestRelay)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.RequestRelay;switch(e.id!=null&&(n.id=String(e.id)),e.uuid!=null&&(n.uuid=String(e.uuid)),e.socket_addr!=null&&(typeof e.socket_addr=="string"?l.base64.decode(e.socket_addr,n.socket_addr=l.newBuffer(l.base64.length(e.socket_addr)),0):e.socket_addr.length>=0&&(n.socket_addr=e.socket_addr)),e.relay_server!=null&&(n.relay_server=String(e.relay_server)),e.secure!=null&&(n.secure=!!e.secure),e.licence_key!=null&&(n.licence_key=String(e.licence_key)),e.conn_type){default:if(typeof e.conn_type=="number"){n.conn_type=e.conn_type;break}break;case"DEFAULT_CONN":case 0:n.conn_type=0;break;case"FILE_TRANSFER":case 1:n.conn_type=1;break;case"PORT_FORWARD":case 2:n.conn_type=2;break;case"RDP":case 3:n.conn_type=3;break;case"VIEW_CAMERA":case 4:n.conn_type=4;break}return e.token!=null&&(n.token=String(e.token)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id="",n.uuid="",t.bytes===String?n.socket_addr="":(n.socket_addr=[],t.bytes!==Array&&(n.socket_addr=l.newBuffer(n.socket_addr))),n.relay_server="",n.secure=!1,n.licence_key="",n.conn_type=t.enums===String?"DEFAULT_CONN":0,n.token=""),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.uuid!=null&&e.hasOwnProperty("uuid")&&(n.uuid=e.uuid),e.socket_addr!=null&&e.hasOwnProperty("socket_addr")&&(n.socket_addr=t.bytes===String?l.base64.encode(e.socket_addr,0,e.socket_addr.length):t.bytes===Array?Array.prototype.slice.call(e.socket_addr):e.socket_addr),e.relay_server!=null&&e.hasOwnProperty("relay_server")&&(n.relay_server=e.relay_server),e.secure!=null&&e.hasOwnProperty("secure")&&(n.secure=e.secure),e.licence_key!=null&&e.hasOwnProperty("licence_key")&&(n.licence_key=e.licence_key),e.conn_type!=null&&e.hasOwnProperty("conn_type")&&(n.conn_type=t.enums===String?u.hbb.ConnType[e.conn_type]===void 0?e.conn_type:u.hbb.ConnType[e.conn_type]:e.conn_type),e.token!=null&&e.hasOwnProperty("token")&&(n.token=e.token),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.RequestRelay"},i}(),p.RelayResponse=function(){function i(e){if(e)for(let t=Object.keys(e),n=0;ns.recursionLimit)throw Error("maximum nesting depth exceeded");let d=n===void 0?t.len:t.pos+n,c=new u.hbb.RelayResponse;for(;t.pos>>3){case 1:{c.socket_addr=t.bytes();break}case 2:{c.uuid=t.string();break}case 3:{c.relay_server=t.string();break}case 4:{c.id=t.string();break}case 5:{c.pk=t.bytes();break}case 6:{c.refuse_reason=t.string();break}case 7:{c.version=t.string();break}case 9:{c.feedback=t.int32();break}default:t.skipType(w&7,f);break}}return c},i.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},i.verify=function(t,n){if(typeof t!="object"||t===null)return"object expected";if(n===void 0&&(n=0),n>l.recursionLimit)return"maximum nesting depth exceeded";let r={};if(t.socket_addr!=null&&t.hasOwnProperty("socket_addr")&&!(t.socket_addr&&typeof t.socket_addr.length=="number"||l.isString(t.socket_addr)))return"socket_addr: buffer expected";if(t.uuid!=null&&t.hasOwnProperty("uuid")&&!l.isString(t.uuid))return"uuid: string expected";if(t.relay_server!=null&&t.hasOwnProperty("relay_server")&&!l.isString(t.relay_server))return"relay_server: string expected";if(t.id!=null&&t.hasOwnProperty("id")&&(r.union=1,!l.isString(t.id)))return"id: string expected";if(t.pk!=null&&t.hasOwnProperty("pk")){if(r.union===1)return"union: multiple values";if(r.union=1,!(t.pk&&typeof t.pk.length=="number"||l.isString(t.pk)))return"pk: buffer expected"}return t.refuse_reason!=null&&t.hasOwnProperty("refuse_reason")&&!l.isString(t.refuse_reason)?"refuse_reason: string expected":t.version!=null&&t.hasOwnProperty("version")&&!l.isString(t.version)?"version: string expected":t.feedback!=null&&t.hasOwnProperty("feedback")&&!l.isInteger(t.feedback)?"feedback: integer expected":null},i.fromObject=function(t,n){if(t instanceof u.hbb.RelayResponse)return t;if(n===void 0&&(n=0),n>l.recursionLimit)throw Error("maximum nesting depth exceeded");let r=new u.hbb.RelayResponse;return t.socket_addr!=null&&(typeof t.socket_addr=="string"?l.base64.decode(t.socket_addr,r.socket_addr=l.newBuffer(l.base64.length(t.socket_addr)),0):t.socket_addr.length>=0&&(r.socket_addr=t.socket_addr)),t.uuid!=null&&(r.uuid=String(t.uuid)),t.relay_server!=null&&(r.relay_server=String(t.relay_server)),t.id!=null&&(r.id=String(t.id)),t.pk!=null&&(typeof t.pk=="string"?l.base64.decode(t.pk,r.pk=l.newBuffer(l.base64.length(t.pk)),0):t.pk.length>=0&&(r.pk=t.pk)),t.refuse_reason!=null&&(r.refuse_reason=String(t.refuse_reason)),t.version!=null&&(r.version=String(t.version)),t.feedback!=null&&(r.feedback=t.feedback|0),r},i.toObject=function(t,n){n||(n={});let r={};return n.defaults&&(n.bytes===String?r.socket_addr="":(r.socket_addr=[],n.bytes!==Array&&(r.socket_addr=l.newBuffer(r.socket_addr))),r.uuid="",r.relay_server="",r.refuse_reason="",r.version="",r.feedback=0),t.socket_addr!=null&&t.hasOwnProperty("socket_addr")&&(r.socket_addr=n.bytes===String?l.base64.encode(t.socket_addr,0,t.socket_addr.length):n.bytes===Array?Array.prototype.slice.call(t.socket_addr):t.socket_addr),t.uuid!=null&&t.hasOwnProperty("uuid")&&(r.uuid=t.uuid),t.relay_server!=null&&t.hasOwnProperty("relay_server")&&(r.relay_server=t.relay_server),t.id!=null&&t.hasOwnProperty("id")&&(r.id=t.id,n.oneofs&&(r.union="id")),t.pk!=null&&t.hasOwnProperty("pk")&&(r.pk=n.bytes===String?l.base64.encode(t.pk,0,t.pk.length):n.bytes===Array?Array.prototype.slice.call(t.pk):t.pk,n.oneofs&&(r.union="pk")),t.refuse_reason!=null&&t.hasOwnProperty("refuse_reason")&&(r.refuse_reason=t.refuse_reason),t.version!=null&&t.hasOwnProperty("version")&&(r.version=t.version),t.feedback!=null&&t.hasOwnProperty("feedback")&&(r.feedback=t.feedback),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/hbb.RelayResponse"},i}(),p.SoftwareUpdate=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.SoftwareUpdate;for(;e.pos>>3){case 1:{d.url=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.url!=null&&e.hasOwnProperty("url")&&!l.isString(e.url)?"url: string expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.SoftwareUpdate)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.SoftwareUpdate;return e.url!=null&&(n.url=String(e.url)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.url=""),e.url!=null&&e.hasOwnProperty("url")&&(n.url=e.url),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.SoftwareUpdate"},i}(),p.FetchLocalAddr=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.FetchLocalAddr;for(;e.pos>>3){case 1:{d.socket_addr=e.bytes();break}case 2:{d.relay_server=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.socket_addr!=null&&e.hasOwnProperty("socket_addr")&&!(e.socket_addr&&typeof e.socket_addr.length=="number"||l.isString(e.socket_addr))?"socket_addr: buffer expected":e.relay_server!=null&&e.hasOwnProperty("relay_server")&&!l.isString(e.relay_server)?"relay_server: string expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.FetchLocalAddr)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.FetchLocalAddr;return e.socket_addr!=null&&(typeof e.socket_addr=="string"?l.base64.decode(e.socket_addr,n.socket_addr=l.newBuffer(l.base64.length(e.socket_addr)),0):e.socket_addr.length>=0&&(n.socket_addr=e.socket_addr)),e.relay_server!=null&&(n.relay_server=String(e.relay_server)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(t.bytes===String?n.socket_addr="":(n.socket_addr=[],t.bytes!==Array&&(n.socket_addr=l.newBuffer(n.socket_addr))),n.relay_server=""),e.socket_addr!=null&&e.hasOwnProperty("socket_addr")&&(n.socket_addr=t.bytes===String?l.base64.encode(e.socket_addr,0,e.socket_addr.length):t.bytes===Array?Array.prototype.slice.call(e.socket_addr):e.socket_addr),e.relay_server!=null&&e.hasOwnProperty("relay_server")&&(n.relay_server=e.relay_server),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.FetchLocalAddr"},i}(),p.LocalAddr=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.LocalAddr;for(;e.pos>>3){case 1:{d.socket_addr=e.bytes();break}case 2:{d.local_addr=e.bytes();break}case 3:{d.relay_server=e.string();break}case 4:{d.id=e.string();break}case 5:{d.version=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.socket_addr!=null&&e.hasOwnProperty("socket_addr")&&!(e.socket_addr&&typeof e.socket_addr.length=="number"||l.isString(e.socket_addr))?"socket_addr: buffer expected":e.local_addr!=null&&e.hasOwnProperty("local_addr")&&!(e.local_addr&&typeof e.local_addr.length=="number"||l.isString(e.local_addr))?"local_addr: buffer expected":e.relay_server!=null&&e.hasOwnProperty("relay_server")&&!l.isString(e.relay_server)?"relay_server: string expected":e.id!=null&&e.hasOwnProperty("id")&&!l.isString(e.id)?"id: string expected":e.version!=null&&e.hasOwnProperty("version")&&!l.isString(e.version)?"version: string expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.LocalAddr)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.LocalAddr;return e.socket_addr!=null&&(typeof e.socket_addr=="string"?l.base64.decode(e.socket_addr,n.socket_addr=l.newBuffer(l.base64.length(e.socket_addr)),0):e.socket_addr.length>=0&&(n.socket_addr=e.socket_addr)),e.local_addr!=null&&(typeof e.local_addr=="string"?l.base64.decode(e.local_addr,n.local_addr=l.newBuffer(l.base64.length(e.local_addr)),0):e.local_addr.length>=0&&(n.local_addr=e.local_addr)),e.relay_server!=null&&(n.relay_server=String(e.relay_server)),e.id!=null&&(n.id=String(e.id)),e.version!=null&&(n.version=String(e.version)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(t.bytes===String?n.socket_addr="":(n.socket_addr=[],t.bytes!==Array&&(n.socket_addr=l.newBuffer(n.socket_addr))),t.bytes===String?n.local_addr="":(n.local_addr=[],t.bytes!==Array&&(n.local_addr=l.newBuffer(n.local_addr))),n.relay_server="",n.id="",n.version=""),e.socket_addr!=null&&e.hasOwnProperty("socket_addr")&&(n.socket_addr=t.bytes===String?l.base64.encode(e.socket_addr,0,e.socket_addr.length):t.bytes===Array?Array.prototype.slice.call(e.socket_addr):e.socket_addr),e.local_addr!=null&&e.hasOwnProperty("local_addr")&&(n.local_addr=t.bytes===String?l.base64.encode(e.local_addr,0,e.local_addr.length):t.bytes===Array?Array.prototype.slice.call(e.local_addr):e.local_addr),e.relay_server!=null&&e.hasOwnProperty("relay_server")&&(n.relay_server=e.relay_server),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.version!=null&&e.hasOwnProperty("version")&&(n.version=e.version),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.LocalAddr"},i}(),p.PeerDiscovery=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.PeerDiscovery;for(;e.pos>>3){case 1:{d.cmd=e.string();break}case 2:{d.mac=e.string();break}case 3:{d.id=e.string();break}case 4:{d.username=e.string();break}case 5:{d.hostname=e.string();break}case 6:{d.platform=e.string();break}case 7:{d.misc=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.cmd!=null&&e.hasOwnProperty("cmd")&&!l.isString(e.cmd)?"cmd: string expected":e.mac!=null&&e.hasOwnProperty("mac")&&!l.isString(e.mac)?"mac: string expected":e.id!=null&&e.hasOwnProperty("id")&&!l.isString(e.id)?"id: string expected":e.username!=null&&e.hasOwnProperty("username")&&!l.isString(e.username)?"username: string expected":e.hostname!=null&&e.hasOwnProperty("hostname")&&!l.isString(e.hostname)?"hostname: string expected":e.platform!=null&&e.hasOwnProperty("platform")&&!l.isString(e.platform)?"platform: string expected":e.misc!=null&&e.hasOwnProperty("misc")&&!l.isString(e.misc)?"misc: string expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.PeerDiscovery)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.PeerDiscovery;return e.cmd!=null&&(n.cmd=String(e.cmd)),e.mac!=null&&(n.mac=String(e.mac)),e.id!=null&&(n.id=String(e.id)),e.username!=null&&(n.username=String(e.username)),e.hostname!=null&&(n.hostname=String(e.hostname)),e.platform!=null&&(n.platform=String(e.platform)),e.misc!=null&&(n.misc=String(e.misc)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.cmd="",n.mac="",n.id="",n.username="",n.hostname="",n.platform="",n.misc=""),e.cmd!=null&&e.hasOwnProperty("cmd")&&(n.cmd=e.cmd),e.mac!=null&&e.hasOwnProperty("mac")&&(n.mac=e.mac),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.username!=null&&e.hasOwnProperty("username")&&(n.username=e.username),e.hostname!=null&&e.hasOwnProperty("hostname")&&(n.hostname=e.hostname),e.platform!=null&&e.hasOwnProperty("platform")&&(n.platform=e.platform),e.misc!=null&&e.hasOwnProperty("misc")&&(n.misc=e.misc),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.PeerDiscovery"},i}(),p.OnlineRequest=function(){function i(o){if(this.peers=[],o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.OnlineRequest;for(;e.pos>>3){case 1:{d.id=e.string();break}case 2:{d.peers&&d.peers.length||(d.peers=[]),d.peers.push(e.string());break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.id!=null&&e.hasOwnProperty("id")&&!l.isString(e.id))return"id: string expected";if(e.peers!=null&&e.hasOwnProperty("peers")){if(!Array.isArray(e.peers))return"peers: array expected";for(let n=0;nl.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.OnlineRequest;if(e.id!=null&&(n.id=String(e.id)),e.peers){if(!Array.isArray(e.peers))throw TypeError(".hbb.OnlineRequest.peers: array expected");n.peers=[];for(let r=0;rs.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.OnlineResponse;for(;e.pos>>3){case 1:{d.states=e.bytes();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.states!=null&&e.hasOwnProperty("states")&&!(e.states&&typeof e.states.length=="number"||l.isString(e.states))?"states: buffer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.OnlineResponse)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.OnlineResponse;return e.states!=null&&(typeof e.states=="string"?l.base64.decode(e.states,n.states=l.newBuffer(l.base64.length(e.states)),0):e.states.length>=0&&(n.states=e.states)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(t.bytes===String?n.states="":(n.states=[],t.bytes!==Array&&(n.states=l.newBuffer(n.states)))),e.states!=null&&e.hasOwnProperty("states")&&(n.states=t.bytes===String?l.base64.encode(e.states,0,e.states.length):t.bytes===Array?Array.prototype.slice.call(e.states):e.states),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.OnlineResponse"},i}(),p.KeyExchange=function(){function i(o){if(this.keys=[],o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.KeyExchange;for(;e.pos>>3){case 1:{d.keys&&d.keys.length||(d.keys=[]),d.keys.push(e.bytes());break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.keys!=null&&e.hasOwnProperty("keys")){if(!Array.isArray(e.keys))return"keys: array expected";for(let n=0;nl.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.KeyExchange;if(e.keys){if(!Array.isArray(e.keys))throw TypeError(".hbb.KeyExchange.keys: array expected");n.keys=[];for(let r=0;r=0&&(n.keys[r]=e.keys[r])}return n},i.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.keys=[]),e.keys&&e.keys.length){n.keys=[];for(let r=0;rs.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.HealthCheck;for(;e.pos>>3){case 1:{d.token=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.token!=null&&e.hasOwnProperty("token")&&!l.isString(e.token)?"token: string expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.HealthCheck)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.HealthCheck;return e.token!=null&&(n.token=String(e.token)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.token=""),e.token!=null&&e.hasOwnProperty("token")&&(n.token=e.token),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.HealthCheck"},i}(),p.HeaderEntry=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.HeaderEntry;for(;e.pos>>3){case 1:{d.name=e.string();break}case 2:{d.value=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.name!=null&&e.hasOwnProperty("name")&&!l.isString(e.name)?"name: string expected":e.value!=null&&e.hasOwnProperty("value")&&!l.isString(e.value)?"value: string expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.HeaderEntry)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.HeaderEntry;return e.name!=null&&(n.name=String(e.name)),e.value!=null&&(n.value=String(e.value)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.name="",n.value=""),e.name!=null&&e.hasOwnProperty("name")&&(n.name=e.name),e.value!=null&&e.hasOwnProperty("value")&&(n.value=e.value),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.HeaderEntry"},i}(),p.HttpProxyRequest=function(){function i(o){if(this.headers=[],o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.HttpProxyRequest;for(;e.pos>>3){case 1:{d.method=e.string();break}case 2:{d.path=e.string();break}case 3:{d.headers&&d.headers.length||(d.headers=[]),d.headers.push(u.hbb.HeaderEntry.decode(e,e.uint32(),void 0,r+1));break}case 4:{d.body=e.bytes();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.method!=null&&e.hasOwnProperty("method")&&!l.isString(e.method))return"method: string expected";if(e.path!=null&&e.hasOwnProperty("path")&&!l.isString(e.path))return"path: string expected";if(e.headers!=null&&e.hasOwnProperty("headers")){if(!Array.isArray(e.headers))return"headers: array expected";for(let n=0;nl.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.HttpProxyRequest;if(e.method!=null&&(n.method=String(e.method)),e.path!=null&&(n.path=String(e.path)),e.headers){if(!Array.isArray(e.headers))throw TypeError(".hbb.HttpProxyRequest.headers: array expected");n.headers=[];for(let r=0;r=0&&(n.body=e.body)),n},i.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.headers=[]),t.defaults&&(n.method="",n.path="",t.bytes===String?n.body="":(n.body=[],t.bytes!==Array&&(n.body=l.newBuffer(n.body)))),e.method!=null&&e.hasOwnProperty("method")&&(n.method=e.method),e.path!=null&&e.hasOwnProperty("path")&&(n.path=e.path),e.headers&&e.headers.length){n.headers=[];for(let r=0;rs.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.HttpProxyResponse;for(;e.pos>>3){case 1:{d.status=e.int32();break}case 2:{d.headers&&d.headers.length||(d.headers=[]),d.headers.push(u.hbb.HeaderEntry.decode(e,e.uint32(),void 0,r+1));break}case 3:{d.body=e.bytes();break}case 4:{d.error=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.status!=null&&e.hasOwnProperty("status")&&!l.isInteger(e.status))return"status: integer expected";if(e.headers!=null&&e.hasOwnProperty("headers")){if(!Array.isArray(e.headers))return"headers: array expected";for(let n=0;nl.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.HttpProxyResponse;if(e.status!=null&&(n.status=e.status|0),e.headers){if(!Array.isArray(e.headers))throw TypeError(".hbb.HttpProxyResponse.headers: array expected");n.headers=[];for(let r=0;r=0&&(n.body=e.body)),e.error!=null&&(n.error=String(e.error)),n},i.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.headers=[]),t.defaults&&(n.status=0,t.bytes===String?n.body="":(n.body=[],t.bytes!==Array&&(n.body=l.newBuffer(n.body))),n.error=""),e.status!=null&&e.hasOwnProperty("status")&&(n.status=e.status),e.headers&&e.headers.length){n.headers=[];for(let r=0;rs.recursionLimit)throw Error("maximum nesting depth exceeded");let d=n===void 0?t.len:t.pos+n,c=new u.hbb.RendezvousMessage;for(;t.pos>>3){case 6:{c.register_peer=u.hbb.RegisterPeer.decode(t,t.uint32(),void 0,f+1);break}case 7:{c.register_peer_response=u.hbb.RegisterPeerResponse.decode(t,t.uint32(),void 0,f+1);break}case 8:{c.punch_hole_request=u.hbb.PunchHoleRequest.decode(t,t.uint32(),void 0,f+1);break}case 9:{c.punch_hole=u.hbb.PunchHole.decode(t,t.uint32(),void 0,f+1);break}case 10:{c.punch_hole_sent=u.hbb.PunchHoleSent.decode(t,t.uint32(),void 0,f+1);break}case 11:{c.punch_hole_response=u.hbb.PunchHoleResponse.decode(t,t.uint32(),void 0,f+1);break}case 12:{c.fetch_local_addr=u.hbb.FetchLocalAddr.decode(t,t.uint32(),void 0,f+1);break}case 13:{c.local_addr=u.hbb.LocalAddr.decode(t,t.uint32(),void 0,f+1);break}case 14:{c.configure_update=u.hbb.ConfigUpdate.decode(t,t.uint32(),void 0,f+1);break}case 15:{c.register_pk=u.hbb.RegisterPk.decode(t,t.uint32(),void 0,f+1);break}case 16:{c.register_pk_response=u.hbb.RegisterPkResponse.decode(t,t.uint32(),void 0,f+1);break}case 17:{c.software_update=u.hbb.SoftwareUpdate.decode(t,t.uint32(),void 0,f+1);break}case 18:{c.request_relay=u.hbb.RequestRelay.decode(t,t.uint32(),void 0,f+1);break}case 19:{c.relay_response=u.hbb.RelayResponse.decode(t,t.uint32(),void 0,f+1);break}case 20:{c.test_nat_request=u.hbb.TestNatRequest.decode(t,t.uint32(),void 0,f+1);break}case 21:{c.test_nat_response=u.hbb.TestNatResponse.decode(t,t.uint32(),void 0,f+1);break}case 22:{c.peer_discovery=u.hbb.PeerDiscovery.decode(t,t.uint32(),void 0,f+1);break}case 23:{c.online_request=u.hbb.OnlineRequest.decode(t,t.uint32(),void 0,f+1);break}case 24:{c.online_response=u.hbb.OnlineResponse.decode(t,t.uint32(),void 0,f+1);break}case 25:{c.key_exchange=u.hbb.KeyExchange.decode(t,t.uint32(),void 0,f+1);break}case 26:{c.hc=u.hbb.HealthCheck.decode(t,t.uint32(),void 0,f+1);break}case 27:{c.http_proxy_request=u.hbb.HttpProxyRequest.decode(t,t.uint32(),void 0,f+1);break}case 28:{c.http_proxy_response=u.hbb.HttpProxyResponse.decode(t,t.uint32(),void 0,f+1);break}default:t.skipType(w&7,f);break}}return c},i.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},i.verify=function(t,n){if(typeof t!="object"||t===null)return"object expected";if(n===void 0&&(n=0),n>l.recursionLimit)return"maximum nesting depth exceeded";let r={};if(t.register_peer!=null&&t.hasOwnProperty("register_peer")){r.union=1;{let f=u.hbb.RegisterPeer.verify(t.register_peer,n+1);if(f)return"register_peer."+f}}if(t.register_peer_response!=null&&t.hasOwnProperty("register_peer_response")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.RegisterPeerResponse.verify(t.register_peer_response,n+1);if(f)return"register_peer_response."+f}}if(t.punch_hole_request!=null&&t.hasOwnProperty("punch_hole_request")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.PunchHoleRequest.verify(t.punch_hole_request,n+1);if(f)return"punch_hole_request."+f}}if(t.punch_hole!=null&&t.hasOwnProperty("punch_hole")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.PunchHole.verify(t.punch_hole,n+1);if(f)return"punch_hole."+f}}if(t.punch_hole_sent!=null&&t.hasOwnProperty("punch_hole_sent")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.PunchHoleSent.verify(t.punch_hole_sent,n+1);if(f)return"punch_hole_sent."+f}}if(t.punch_hole_response!=null&&t.hasOwnProperty("punch_hole_response")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.PunchHoleResponse.verify(t.punch_hole_response,n+1);if(f)return"punch_hole_response."+f}}if(t.fetch_local_addr!=null&&t.hasOwnProperty("fetch_local_addr")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.FetchLocalAddr.verify(t.fetch_local_addr,n+1);if(f)return"fetch_local_addr."+f}}if(t.local_addr!=null&&t.hasOwnProperty("local_addr")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.LocalAddr.verify(t.local_addr,n+1);if(f)return"local_addr."+f}}if(t.configure_update!=null&&t.hasOwnProperty("configure_update")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.ConfigUpdate.verify(t.configure_update,n+1);if(f)return"configure_update."+f}}if(t.register_pk!=null&&t.hasOwnProperty("register_pk")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.RegisterPk.verify(t.register_pk,n+1);if(f)return"register_pk."+f}}if(t.register_pk_response!=null&&t.hasOwnProperty("register_pk_response")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.RegisterPkResponse.verify(t.register_pk_response,n+1);if(f)return"register_pk_response."+f}}if(t.software_update!=null&&t.hasOwnProperty("software_update")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.SoftwareUpdate.verify(t.software_update,n+1);if(f)return"software_update."+f}}if(t.request_relay!=null&&t.hasOwnProperty("request_relay")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.RequestRelay.verify(t.request_relay,n+1);if(f)return"request_relay."+f}}if(t.relay_response!=null&&t.hasOwnProperty("relay_response")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.RelayResponse.verify(t.relay_response,n+1);if(f)return"relay_response."+f}}if(t.test_nat_request!=null&&t.hasOwnProperty("test_nat_request")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.TestNatRequest.verify(t.test_nat_request,n+1);if(f)return"test_nat_request."+f}}if(t.test_nat_response!=null&&t.hasOwnProperty("test_nat_response")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.TestNatResponse.verify(t.test_nat_response,n+1);if(f)return"test_nat_response."+f}}if(t.peer_discovery!=null&&t.hasOwnProperty("peer_discovery")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.PeerDiscovery.verify(t.peer_discovery,n+1);if(f)return"peer_discovery."+f}}if(t.online_request!=null&&t.hasOwnProperty("online_request")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.OnlineRequest.verify(t.online_request,n+1);if(f)return"online_request."+f}}if(t.online_response!=null&&t.hasOwnProperty("online_response")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.OnlineResponse.verify(t.online_response,n+1);if(f)return"online_response."+f}}if(t.key_exchange!=null&&t.hasOwnProperty("key_exchange")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.KeyExchange.verify(t.key_exchange,n+1);if(f)return"key_exchange."+f}}if(t.hc!=null&&t.hasOwnProperty("hc")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.HealthCheck.verify(t.hc,n+1);if(f)return"hc."+f}}if(t.http_proxy_request!=null&&t.hasOwnProperty("http_proxy_request")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.HttpProxyRequest.verify(t.http_proxy_request,n+1);if(f)return"http_proxy_request."+f}}if(t.http_proxy_response!=null&&t.hasOwnProperty("http_proxy_response")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.HttpProxyResponse.verify(t.http_proxy_response,n+1);if(f)return"http_proxy_response."+f}}return null},i.fromObject=function(t,n){if(t instanceof u.hbb.RendezvousMessage)return t;if(n===void 0&&(n=0),n>l.recursionLimit)throw Error("maximum nesting depth exceeded");let r=new u.hbb.RendezvousMessage;if(t.register_peer!=null){if(typeof t.register_peer!="object")throw TypeError(".hbb.RendezvousMessage.register_peer: object expected");r.register_peer=u.hbb.RegisterPeer.fromObject(t.register_peer,n+1)}if(t.register_peer_response!=null){if(typeof t.register_peer_response!="object")throw TypeError(".hbb.RendezvousMessage.register_peer_response: object expected");r.register_peer_response=u.hbb.RegisterPeerResponse.fromObject(t.register_peer_response,n+1)}if(t.punch_hole_request!=null){if(typeof t.punch_hole_request!="object")throw TypeError(".hbb.RendezvousMessage.punch_hole_request: object expected");r.punch_hole_request=u.hbb.PunchHoleRequest.fromObject(t.punch_hole_request,n+1)}if(t.punch_hole!=null){if(typeof t.punch_hole!="object")throw TypeError(".hbb.RendezvousMessage.punch_hole: object expected");r.punch_hole=u.hbb.PunchHole.fromObject(t.punch_hole,n+1)}if(t.punch_hole_sent!=null){if(typeof t.punch_hole_sent!="object")throw TypeError(".hbb.RendezvousMessage.punch_hole_sent: object expected");r.punch_hole_sent=u.hbb.PunchHoleSent.fromObject(t.punch_hole_sent,n+1)}if(t.punch_hole_response!=null){if(typeof t.punch_hole_response!="object")throw TypeError(".hbb.RendezvousMessage.punch_hole_response: object expected");r.punch_hole_response=u.hbb.PunchHoleResponse.fromObject(t.punch_hole_response,n+1)}if(t.fetch_local_addr!=null){if(typeof t.fetch_local_addr!="object")throw TypeError(".hbb.RendezvousMessage.fetch_local_addr: object expected");r.fetch_local_addr=u.hbb.FetchLocalAddr.fromObject(t.fetch_local_addr,n+1)}if(t.local_addr!=null){if(typeof t.local_addr!="object")throw TypeError(".hbb.RendezvousMessage.local_addr: object expected");r.local_addr=u.hbb.LocalAddr.fromObject(t.local_addr,n+1)}if(t.configure_update!=null){if(typeof t.configure_update!="object")throw TypeError(".hbb.RendezvousMessage.configure_update: object expected");r.configure_update=u.hbb.ConfigUpdate.fromObject(t.configure_update,n+1)}if(t.register_pk!=null){if(typeof t.register_pk!="object")throw TypeError(".hbb.RendezvousMessage.register_pk: object expected");r.register_pk=u.hbb.RegisterPk.fromObject(t.register_pk,n+1)}if(t.register_pk_response!=null){if(typeof t.register_pk_response!="object")throw TypeError(".hbb.RendezvousMessage.register_pk_response: object expected");r.register_pk_response=u.hbb.RegisterPkResponse.fromObject(t.register_pk_response,n+1)}if(t.software_update!=null){if(typeof t.software_update!="object")throw TypeError(".hbb.RendezvousMessage.software_update: object expected");r.software_update=u.hbb.SoftwareUpdate.fromObject(t.software_update,n+1)}if(t.request_relay!=null){if(typeof t.request_relay!="object")throw TypeError(".hbb.RendezvousMessage.request_relay: object expected");r.request_relay=u.hbb.RequestRelay.fromObject(t.request_relay,n+1)}if(t.relay_response!=null){if(typeof t.relay_response!="object")throw TypeError(".hbb.RendezvousMessage.relay_response: object expected");r.relay_response=u.hbb.RelayResponse.fromObject(t.relay_response,n+1)}if(t.test_nat_request!=null){if(typeof t.test_nat_request!="object")throw TypeError(".hbb.RendezvousMessage.test_nat_request: object expected");r.test_nat_request=u.hbb.TestNatRequest.fromObject(t.test_nat_request,n+1)}if(t.test_nat_response!=null){if(typeof t.test_nat_response!="object")throw TypeError(".hbb.RendezvousMessage.test_nat_response: object expected");r.test_nat_response=u.hbb.TestNatResponse.fromObject(t.test_nat_response,n+1)}if(t.peer_discovery!=null){if(typeof t.peer_discovery!="object")throw TypeError(".hbb.RendezvousMessage.peer_discovery: object expected");r.peer_discovery=u.hbb.PeerDiscovery.fromObject(t.peer_discovery,n+1)}if(t.online_request!=null){if(typeof t.online_request!="object")throw TypeError(".hbb.RendezvousMessage.online_request: object expected");r.online_request=u.hbb.OnlineRequest.fromObject(t.online_request,n+1)}if(t.online_response!=null){if(typeof t.online_response!="object")throw TypeError(".hbb.RendezvousMessage.online_response: object expected");r.online_response=u.hbb.OnlineResponse.fromObject(t.online_response,n+1)}if(t.key_exchange!=null){if(typeof t.key_exchange!="object")throw TypeError(".hbb.RendezvousMessage.key_exchange: object expected");r.key_exchange=u.hbb.KeyExchange.fromObject(t.key_exchange,n+1)}if(t.hc!=null){if(typeof t.hc!="object")throw TypeError(".hbb.RendezvousMessage.hc: object expected");r.hc=u.hbb.HealthCheck.fromObject(t.hc,n+1)}if(t.http_proxy_request!=null){if(typeof t.http_proxy_request!="object")throw TypeError(".hbb.RendezvousMessage.http_proxy_request: object expected");r.http_proxy_request=u.hbb.HttpProxyRequest.fromObject(t.http_proxy_request,n+1)}if(t.http_proxy_response!=null){if(typeof t.http_proxy_response!="object")throw TypeError(".hbb.RendezvousMessage.http_proxy_response: object expected");r.http_proxy_response=u.hbb.HttpProxyResponse.fromObject(t.http_proxy_response,n+1)}return r},i.toObject=function(t,n){n||(n={});let r={};return t.register_peer!=null&&t.hasOwnProperty("register_peer")&&(r.register_peer=u.hbb.RegisterPeer.toObject(t.register_peer,n),n.oneofs&&(r.union="register_peer")),t.register_peer_response!=null&&t.hasOwnProperty("register_peer_response")&&(r.register_peer_response=u.hbb.RegisterPeerResponse.toObject(t.register_peer_response,n),n.oneofs&&(r.union="register_peer_response")),t.punch_hole_request!=null&&t.hasOwnProperty("punch_hole_request")&&(r.punch_hole_request=u.hbb.PunchHoleRequest.toObject(t.punch_hole_request,n),n.oneofs&&(r.union="punch_hole_request")),t.punch_hole!=null&&t.hasOwnProperty("punch_hole")&&(r.punch_hole=u.hbb.PunchHole.toObject(t.punch_hole,n),n.oneofs&&(r.union="punch_hole")),t.punch_hole_sent!=null&&t.hasOwnProperty("punch_hole_sent")&&(r.punch_hole_sent=u.hbb.PunchHoleSent.toObject(t.punch_hole_sent,n),n.oneofs&&(r.union="punch_hole_sent")),t.punch_hole_response!=null&&t.hasOwnProperty("punch_hole_response")&&(r.punch_hole_response=u.hbb.PunchHoleResponse.toObject(t.punch_hole_response,n),n.oneofs&&(r.union="punch_hole_response")),t.fetch_local_addr!=null&&t.hasOwnProperty("fetch_local_addr")&&(r.fetch_local_addr=u.hbb.FetchLocalAddr.toObject(t.fetch_local_addr,n),n.oneofs&&(r.union="fetch_local_addr")),t.local_addr!=null&&t.hasOwnProperty("local_addr")&&(r.local_addr=u.hbb.LocalAddr.toObject(t.local_addr,n),n.oneofs&&(r.union="local_addr")),t.configure_update!=null&&t.hasOwnProperty("configure_update")&&(r.configure_update=u.hbb.ConfigUpdate.toObject(t.configure_update,n),n.oneofs&&(r.union="configure_update")),t.register_pk!=null&&t.hasOwnProperty("register_pk")&&(r.register_pk=u.hbb.RegisterPk.toObject(t.register_pk,n),n.oneofs&&(r.union="register_pk")),t.register_pk_response!=null&&t.hasOwnProperty("register_pk_response")&&(r.register_pk_response=u.hbb.RegisterPkResponse.toObject(t.register_pk_response,n),n.oneofs&&(r.union="register_pk_response")),t.software_update!=null&&t.hasOwnProperty("software_update")&&(r.software_update=u.hbb.SoftwareUpdate.toObject(t.software_update,n),n.oneofs&&(r.union="software_update")),t.request_relay!=null&&t.hasOwnProperty("request_relay")&&(r.request_relay=u.hbb.RequestRelay.toObject(t.request_relay,n),n.oneofs&&(r.union="request_relay")),t.relay_response!=null&&t.hasOwnProperty("relay_response")&&(r.relay_response=u.hbb.RelayResponse.toObject(t.relay_response,n),n.oneofs&&(r.union="relay_response")),t.test_nat_request!=null&&t.hasOwnProperty("test_nat_request")&&(r.test_nat_request=u.hbb.TestNatRequest.toObject(t.test_nat_request,n),n.oneofs&&(r.union="test_nat_request")),t.test_nat_response!=null&&t.hasOwnProperty("test_nat_response")&&(r.test_nat_response=u.hbb.TestNatResponse.toObject(t.test_nat_response,n),n.oneofs&&(r.union="test_nat_response")),t.peer_discovery!=null&&t.hasOwnProperty("peer_discovery")&&(r.peer_discovery=u.hbb.PeerDiscovery.toObject(t.peer_discovery,n),n.oneofs&&(r.union="peer_discovery")),t.online_request!=null&&t.hasOwnProperty("online_request")&&(r.online_request=u.hbb.OnlineRequest.toObject(t.online_request,n),n.oneofs&&(r.union="online_request")),t.online_response!=null&&t.hasOwnProperty("online_response")&&(r.online_response=u.hbb.OnlineResponse.toObject(t.online_response,n),n.oneofs&&(r.union="online_response")),t.key_exchange!=null&&t.hasOwnProperty("key_exchange")&&(r.key_exchange=u.hbb.KeyExchange.toObject(t.key_exchange,n),n.oneofs&&(r.union="key_exchange")),t.hc!=null&&t.hasOwnProperty("hc")&&(r.hc=u.hbb.HealthCheck.toObject(t.hc,n),n.oneofs&&(r.union="hc")),t.http_proxy_request!=null&&t.hasOwnProperty("http_proxy_request")&&(r.http_proxy_request=u.hbb.HttpProxyRequest.toObject(t.http_proxy_request,n),n.oneofs&&(r.union="http_proxy_request")),t.http_proxy_response!=null&&t.hasOwnProperty("http_proxy_response")&&(r.http_proxy_response=u.hbb.HttpProxyResponse.toObject(t.http_proxy_response,n),n.oneofs&&(r.union="http_proxy_response")),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/hbb.RendezvousMessage"},i}(),p.EncodedVideoFrame=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.EncodedVideoFrame;for(;e.pos>>3){case 1:{d.data=e.bytes();break}case 2:{d.key=e.bool();break}case 3:{d.pts=e.int64();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.data!=null&&e.hasOwnProperty("data")&&!(e.data&&typeof e.data.length=="number"||l.isString(e.data))?"data: buffer expected":e.key!=null&&e.hasOwnProperty("key")&&typeof e.key!="boolean"?"key: boolean expected":e.pts!=null&&e.hasOwnProperty("pts")&&!l.isInteger(e.pts)&&!(e.pts&&l.isInteger(e.pts.low)&&l.isInteger(e.pts.high))?"pts: integer|Long expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.EncodedVideoFrame)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.EncodedVideoFrame;return e.data!=null&&(typeof e.data=="string"?l.base64.decode(e.data,n.data=l.newBuffer(l.base64.length(e.data)),0):e.data.length>=0&&(n.data=e.data)),e.key!=null&&(n.key=!!e.key),e.pts!=null&&(l.Long?(n.pts=l.Long.fromValue(e.pts)).unsigned=!1:typeof e.pts=="string"?n.pts=parseInt(e.pts,10):typeof e.pts=="number"?n.pts=e.pts:typeof e.pts=="object"&&(n.pts=new l.LongBits(e.pts.low>>>0,e.pts.high>>>0).toNumber())),n},i.toObject=function(e,t){t||(t={});let n={};if(t.defaults)if(t.bytes===String?n.data="":(n.data=[],t.bytes!==Array&&(n.data=l.newBuffer(n.data))),n.key=!1,l.Long){let r=new l.Long(0,0,!1);n.pts=t.longs===String?r.toString():t.longs===Number?r.toNumber():r}else n.pts=t.longs===String?"0":0;return e.data!=null&&e.hasOwnProperty("data")&&(n.data=t.bytes===String?l.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),e.key!=null&&e.hasOwnProperty("key")&&(n.key=e.key),e.pts!=null&&e.hasOwnProperty("pts")&&(typeof e.pts=="number"?n.pts=t.longs===String?String(e.pts):e.pts:n.pts=t.longs===String?l.Long.prototype.toString.call(e.pts):t.longs===Number?new l.LongBits(e.pts.low>>>0,e.pts.high>>>0).toNumber():e.pts),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.EncodedVideoFrame"},i}(),p.EncodedVideoFrames=function(){function i(o){if(this.frames=[],o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.EncodedVideoFrames;for(;e.pos>>3){case 1:{d.frames&&d.frames.length||(d.frames=[]),d.frames.push(u.hbb.EncodedVideoFrame.decode(e,e.uint32(),void 0,r+1));break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.frames!=null&&e.hasOwnProperty("frames")){if(!Array.isArray(e.frames))return"frames: array expected";for(let n=0;nl.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.EncodedVideoFrames;if(e.frames){if(!Array.isArray(e.frames))throw TypeError(".hbb.EncodedVideoFrames.frames: array expected");n.frames=[];for(let r=0;rs.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.RGB;for(;e.pos>>3){case 1:{d.compress=e.bool();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.compress!=null&&e.hasOwnProperty("compress")&&typeof e.compress!="boolean"?"compress: boolean expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.RGB)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.RGB;return e.compress!=null&&(n.compress=!!e.compress),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.compress=!1),e.compress!=null&&e.hasOwnProperty("compress")&&(n.compress=e.compress),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.RGB"},i}(),p.YUV=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.YUV;for(;e.pos>>3){case 1:{d.compress=e.bool();break}case 2:{d.stride=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.compress!=null&&e.hasOwnProperty("compress")&&typeof e.compress!="boolean"?"compress: boolean expected":e.stride!=null&&e.hasOwnProperty("stride")&&!l.isInteger(e.stride)?"stride: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.YUV)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.YUV;return e.compress!=null&&(n.compress=!!e.compress),e.stride!=null&&(n.stride=e.stride|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.compress=!1,n.stride=0),e.compress!=null&&e.hasOwnProperty("compress")&&(n.compress=e.compress),e.stride!=null&&e.hasOwnProperty("stride")&&(n.stride=e.stride),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.YUV"},i}(),p.Chroma=function(){let i={},o=Object.create(i);return o[i[0]="I420"]=0,o[i[1]="I444"]=1,o}(),p.VideoFrame=function(){function i(e){if(e)for(let t=Object.keys(e),n=0;ns.recursionLimit)throw Error("maximum nesting depth exceeded");let d=n===void 0?t.len:t.pos+n,c=new u.hbb.VideoFrame;for(;t.pos>>3){case 6:{c.vp9s=u.hbb.EncodedVideoFrames.decode(t,t.uint32(),void 0,f+1);break}case 7:{c.rgb=u.hbb.RGB.decode(t,t.uint32(),void 0,f+1);break}case 8:{c.yuv=u.hbb.YUV.decode(t,t.uint32(),void 0,f+1);break}case 10:{c.h264s=u.hbb.EncodedVideoFrames.decode(t,t.uint32(),void 0,f+1);break}case 11:{c.h265s=u.hbb.EncodedVideoFrames.decode(t,t.uint32(),void 0,f+1);break}case 12:{c.vp8s=u.hbb.EncodedVideoFrames.decode(t,t.uint32(),void 0,f+1);break}case 13:{c.av1s=u.hbb.EncodedVideoFrames.decode(t,t.uint32(),void 0,f+1);break}case 14:{c.display=t.int32();break}default:t.skipType(w&7,f);break}}return c},i.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},i.verify=function(t,n){if(typeof t!="object"||t===null)return"object expected";if(n===void 0&&(n=0),n>l.recursionLimit)return"maximum nesting depth exceeded";let r={};if(t.vp9s!=null&&t.hasOwnProperty("vp9s")){r.union=1;{let f=u.hbb.EncodedVideoFrames.verify(t.vp9s,n+1);if(f)return"vp9s."+f}}if(t.rgb!=null&&t.hasOwnProperty("rgb")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.RGB.verify(t.rgb,n+1);if(f)return"rgb."+f}}if(t.yuv!=null&&t.hasOwnProperty("yuv")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.YUV.verify(t.yuv,n+1);if(f)return"yuv."+f}}if(t.h264s!=null&&t.hasOwnProperty("h264s")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.EncodedVideoFrames.verify(t.h264s,n+1);if(f)return"h264s."+f}}if(t.h265s!=null&&t.hasOwnProperty("h265s")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.EncodedVideoFrames.verify(t.h265s,n+1);if(f)return"h265s."+f}}if(t.vp8s!=null&&t.hasOwnProperty("vp8s")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.EncodedVideoFrames.verify(t.vp8s,n+1);if(f)return"vp8s."+f}}if(t.av1s!=null&&t.hasOwnProperty("av1s")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.EncodedVideoFrames.verify(t.av1s,n+1);if(f)return"av1s."+f}}return t.display!=null&&t.hasOwnProperty("display")&&!l.isInteger(t.display)?"display: integer expected":null},i.fromObject=function(t,n){if(t instanceof u.hbb.VideoFrame)return t;if(n===void 0&&(n=0),n>l.recursionLimit)throw Error("maximum nesting depth exceeded");let r=new u.hbb.VideoFrame;if(t.vp9s!=null){if(typeof t.vp9s!="object")throw TypeError(".hbb.VideoFrame.vp9s: object expected");r.vp9s=u.hbb.EncodedVideoFrames.fromObject(t.vp9s,n+1)}if(t.rgb!=null){if(typeof t.rgb!="object")throw TypeError(".hbb.VideoFrame.rgb: object expected");r.rgb=u.hbb.RGB.fromObject(t.rgb,n+1)}if(t.yuv!=null){if(typeof t.yuv!="object")throw TypeError(".hbb.VideoFrame.yuv: object expected");r.yuv=u.hbb.YUV.fromObject(t.yuv,n+1)}if(t.h264s!=null){if(typeof t.h264s!="object")throw TypeError(".hbb.VideoFrame.h264s: object expected");r.h264s=u.hbb.EncodedVideoFrames.fromObject(t.h264s,n+1)}if(t.h265s!=null){if(typeof t.h265s!="object")throw TypeError(".hbb.VideoFrame.h265s: object expected");r.h265s=u.hbb.EncodedVideoFrames.fromObject(t.h265s,n+1)}if(t.vp8s!=null){if(typeof t.vp8s!="object")throw TypeError(".hbb.VideoFrame.vp8s: object expected");r.vp8s=u.hbb.EncodedVideoFrames.fromObject(t.vp8s,n+1)}if(t.av1s!=null){if(typeof t.av1s!="object")throw TypeError(".hbb.VideoFrame.av1s: object expected");r.av1s=u.hbb.EncodedVideoFrames.fromObject(t.av1s,n+1)}return t.display!=null&&(r.display=t.display|0),r},i.toObject=function(t,n){n||(n={});let r={};return n.defaults&&(r.display=0),t.vp9s!=null&&t.hasOwnProperty("vp9s")&&(r.vp9s=u.hbb.EncodedVideoFrames.toObject(t.vp9s,n),n.oneofs&&(r.union="vp9s")),t.rgb!=null&&t.hasOwnProperty("rgb")&&(r.rgb=u.hbb.RGB.toObject(t.rgb,n),n.oneofs&&(r.union="rgb")),t.yuv!=null&&t.hasOwnProperty("yuv")&&(r.yuv=u.hbb.YUV.toObject(t.yuv,n),n.oneofs&&(r.union="yuv")),t.h264s!=null&&t.hasOwnProperty("h264s")&&(r.h264s=u.hbb.EncodedVideoFrames.toObject(t.h264s,n),n.oneofs&&(r.union="h264s")),t.h265s!=null&&t.hasOwnProperty("h265s")&&(r.h265s=u.hbb.EncodedVideoFrames.toObject(t.h265s,n),n.oneofs&&(r.union="h265s")),t.vp8s!=null&&t.hasOwnProperty("vp8s")&&(r.vp8s=u.hbb.EncodedVideoFrames.toObject(t.vp8s,n),n.oneofs&&(r.union="vp8s")),t.av1s!=null&&t.hasOwnProperty("av1s")&&(r.av1s=u.hbb.EncodedVideoFrames.toObject(t.av1s,n),n.oneofs&&(r.union="av1s")),t.display!=null&&t.hasOwnProperty("display")&&(r.display=t.display),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/hbb.VideoFrame"},i}(),p.IdPk=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.IdPk;for(;e.pos>>3){case 1:{d.id=e.string();break}case 2:{d.pk=e.bytes();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!l.isString(e.id)?"id: string expected":e.pk!=null&&e.hasOwnProperty("pk")&&!(e.pk&&typeof e.pk.length=="number"||l.isString(e.pk))?"pk: buffer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.IdPk)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.IdPk;return e.id!=null&&(n.id=String(e.id)),e.pk!=null&&(typeof e.pk=="string"?l.base64.decode(e.pk,n.pk=l.newBuffer(l.base64.length(e.pk)),0):e.pk.length>=0&&(n.pk=e.pk)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id="",t.bytes===String?n.pk="":(n.pk=[],t.bytes!==Array&&(n.pk=l.newBuffer(n.pk)))),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.pk!=null&&e.hasOwnProperty("pk")&&(n.pk=t.bytes===String?l.base64.encode(e.pk,0,e.pk.length):t.bytes===Array?Array.prototype.slice.call(e.pk):e.pk),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.IdPk"},i}(),p.DisplayInfo=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.DisplayInfo;for(;e.pos>>3){case 1:{d.x=e.sint32();break}case 2:{d.y=e.sint32();break}case 3:{d.width=e.int32();break}case 4:{d.height=e.int32();break}case 5:{d.name=e.string();break}case 6:{d.online=e.bool();break}case 7:{d.cursor_embedded=e.bool();break}case 8:{d.original_resolution=u.hbb.Resolution.decode(e,e.uint32(),void 0,r+1);break}case 9:{d.scale=e.double();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.x!=null&&e.hasOwnProperty("x")&&!l.isInteger(e.x))return"x: integer expected";if(e.y!=null&&e.hasOwnProperty("y")&&!l.isInteger(e.y))return"y: integer expected";if(e.width!=null&&e.hasOwnProperty("width")&&!l.isInteger(e.width))return"width: integer expected";if(e.height!=null&&e.hasOwnProperty("height")&&!l.isInteger(e.height))return"height: integer expected";if(e.name!=null&&e.hasOwnProperty("name")&&!l.isString(e.name))return"name: string expected";if(e.online!=null&&e.hasOwnProperty("online")&&typeof e.online!="boolean")return"online: boolean expected";if(e.cursor_embedded!=null&&e.hasOwnProperty("cursor_embedded")&&typeof e.cursor_embedded!="boolean")return"cursor_embedded: boolean expected";if(e.original_resolution!=null&&e.hasOwnProperty("original_resolution")){let n=u.hbb.Resolution.verify(e.original_resolution,t+1);if(n)return"original_resolution."+n}return e.scale!=null&&e.hasOwnProperty("scale")&&typeof e.scale!="number"?"scale: number expected":null},i.fromObject=function(e,t){if(e instanceof u.hbb.DisplayInfo)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.DisplayInfo;if(e.x!=null&&(n.x=e.x|0),e.y!=null&&(n.y=e.y|0),e.width!=null&&(n.width=e.width|0),e.height!=null&&(n.height=e.height|0),e.name!=null&&(n.name=String(e.name)),e.online!=null&&(n.online=!!e.online),e.cursor_embedded!=null&&(n.cursor_embedded=!!e.cursor_embedded),e.original_resolution!=null){if(typeof e.original_resolution!="object")throw TypeError(".hbb.DisplayInfo.original_resolution: object expected");n.original_resolution=u.hbb.Resolution.fromObject(e.original_resolution,t+1)}return e.scale!=null&&(n.scale=Number(e.scale)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.x=0,n.y=0,n.width=0,n.height=0,n.name="",n.online=!1,n.cursor_embedded=!1,n.original_resolution=null,n.scale=0),e.x!=null&&e.hasOwnProperty("x")&&(n.x=e.x),e.y!=null&&e.hasOwnProperty("y")&&(n.y=e.y),e.width!=null&&e.hasOwnProperty("width")&&(n.width=e.width),e.height!=null&&e.hasOwnProperty("height")&&(n.height=e.height),e.name!=null&&e.hasOwnProperty("name")&&(n.name=e.name),e.online!=null&&e.hasOwnProperty("online")&&(n.online=e.online),e.cursor_embedded!=null&&e.hasOwnProperty("cursor_embedded")&&(n.cursor_embedded=e.cursor_embedded),e.original_resolution!=null&&e.hasOwnProperty("original_resolution")&&(n.original_resolution=u.hbb.Resolution.toObject(e.original_resolution,t)),e.scale!=null&&e.hasOwnProperty("scale")&&(n.scale=t.json&&!isFinite(e.scale)?String(e.scale):e.scale),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.DisplayInfo"},i}(),p.PortForward=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.PortForward;for(;e.pos>>3){case 1:{d.host=e.string();break}case 2:{d.port=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.host!=null&&e.hasOwnProperty("host")&&!l.isString(e.host)?"host: string expected":e.port!=null&&e.hasOwnProperty("port")&&!l.isInteger(e.port)?"port: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.PortForward)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.PortForward;return e.host!=null&&(n.host=String(e.host)),e.port!=null&&(n.port=e.port|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.host="",n.port=0),e.host!=null&&e.hasOwnProperty("host")&&(n.host=e.host),e.port!=null&&e.hasOwnProperty("port")&&(n.port=e.port),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.PortForward"},i}(),p.FileTransfer=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.FileTransfer;for(;e.pos>>3){case 1:{d.dir=e.string();break}case 2:{d.show_hidden=e.bool();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.dir!=null&&e.hasOwnProperty("dir")&&!l.isString(e.dir)?"dir: string expected":e.show_hidden!=null&&e.hasOwnProperty("show_hidden")&&typeof e.show_hidden!="boolean"?"show_hidden: boolean expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.FileTransfer)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.FileTransfer;return e.dir!=null&&(n.dir=String(e.dir)),e.show_hidden!=null&&(n.show_hidden=!!e.show_hidden),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.dir="",n.show_hidden=!1),e.dir!=null&&e.hasOwnProperty("dir")&&(n.dir=e.dir),e.show_hidden!=null&&e.hasOwnProperty("show_hidden")&&(n.show_hidden=e.show_hidden),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.FileTransfer"},i}(),p.ViewCamera=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.ViewCamera;for(;e.pos>>3){default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.ViewCamera)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");return new u.hbb.ViewCamera},i.toObject=function(){return{}},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.ViewCamera"},i}(),p.OSLogin=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.OSLogin;for(;e.pos>>3){case 1:{d.username=e.string();break}case 2:{d.password=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.username!=null&&e.hasOwnProperty("username")&&!l.isString(e.username)?"username: string expected":e.password!=null&&e.hasOwnProperty("password")&&!l.isString(e.password)?"password: string expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.OSLogin)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.OSLogin;return e.username!=null&&(n.username=String(e.username)),e.password!=null&&(n.password=String(e.password)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.username="",n.password=""),e.username!=null&&e.hasOwnProperty("username")&&(n.username=e.username),e.password!=null&&e.hasOwnProperty("password")&&(n.password=e.password),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.OSLogin"},i}(),p.LoginRequest=function(){function i(e){if(e)for(let t=Object.keys(e),n=0;ns.recursionLimit)throw Error("maximum nesting depth exceeded");let d=n===void 0?t.len:t.pos+n,c=new u.hbb.LoginRequest;for(;t.pos>>3){case 1:{c.username=t.string();break}case 2:{c.password=t.bytes();break}case 4:{c.my_id=t.string();break}case 5:{c.my_name=t.string();break}case 6:{c.option=u.hbb.OptionMessage.decode(t,t.uint32(),void 0,f+1);break}case 7:{c.file_transfer=u.hbb.FileTransfer.decode(t,t.uint32(),void 0,f+1);break}case 8:{c.port_forward=u.hbb.PortForward.decode(t,t.uint32(),void 0,f+1);break}case 15:{c.view_camera=u.hbb.ViewCamera.decode(t,t.uint32(),void 0,f+1);break}case 9:{c.video_ack_required=t.bool();break}case 10:{c.session_id=t.uint64();break}case 11:{c.version=t.string();break}case 12:{c.os_login=u.hbb.OSLogin.decode(t,t.uint32(),void 0,f+1);break}case 13:{c.my_platform=t.string();break}case 14:{c.hwid=t.bytes();break}default:t.skipType(w&7,f);break}}return c},i.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},i.verify=function(t,n){if(typeof t!="object"||t===null)return"object expected";if(n===void 0&&(n=0),n>l.recursionLimit)return"maximum nesting depth exceeded";let r={};if(t.username!=null&&t.hasOwnProperty("username")&&!l.isString(t.username))return"username: string expected";if(t.password!=null&&t.hasOwnProperty("password")&&!(t.password&&typeof t.password.length=="number"||l.isString(t.password)))return"password: buffer expected";if(t.my_id!=null&&t.hasOwnProperty("my_id")&&!l.isString(t.my_id))return"my_id: string expected";if(t.my_name!=null&&t.hasOwnProperty("my_name")&&!l.isString(t.my_name))return"my_name: string expected";if(t.option!=null&&t.hasOwnProperty("option")){let f=u.hbb.OptionMessage.verify(t.option,n+1);if(f)return"option."+f}if(t.file_transfer!=null&&t.hasOwnProperty("file_transfer")){r.union=1;{let f=u.hbb.FileTransfer.verify(t.file_transfer,n+1);if(f)return"file_transfer."+f}}if(t.port_forward!=null&&t.hasOwnProperty("port_forward")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.PortForward.verify(t.port_forward,n+1);if(f)return"port_forward."+f}}if(t.view_camera!=null&&t.hasOwnProperty("view_camera")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.ViewCamera.verify(t.view_camera,n+1);if(f)return"view_camera."+f}}if(t.video_ack_required!=null&&t.hasOwnProperty("video_ack_required")&&typeof t.video_ack_required!="boolean")return"video_ack_required: boolean expected";if(t.session_id!=null&&t.hasOwnProperty("session_id")&&!l.isInteger(t.session_id)&&!(t.session_id&&l.isInteger(t.session_id.low)&&l.isInteger(t.session_id.high)))return"session_id: integer|Long expected";if(t.version!=null&&t.hasOwnProperty("version")&&!l.isString(t.version))return"version: string expected";if(t.os_login!=null&&t.hasOwnProperty("os_login")){let f=u.hbb.OSLogin.verify(t.os_login,n+1);if(f)return"os_login."+f}return t.my_platform!=null&&t.hasOwnProperty("my_platform")&&!l.isString(t.my_platform)?"my_platform: string expected":t.hwid!=null&&t.hasOwnProperty("hwid")&&!(t.hwid&&typeof t.hwid.length=="number"||l.isString(t.hwid))?"hwid: buffer expected":null},i.fromObject=function(t,n){if(t instanceof u.hbb.LoginRequest)return t;if(n===void 0&&(n=0),n>l.recursionLimit)throw Error("maximum nesting depth exceeded");let r=new u.hbb.LoginRequest;if(t.username!=null&&(r.username=String(t.username)),t.password!=null&&(typeof t.password=="string"?l.base64.decode(t.password,r.password=l.newBuffer(l.base64.length(t.password)),0):t.password.length>=0&&(r.password=t.password)),t.my_id!=null&&(r.my_id=String(t.my_id)),t.my_name!=null&&(r.my_name=String(t.my_name)),t.option!=null){if(typeof t.option!="object")throw TypeError(".hbb.LoginRequest.option: object expected");r.option=u.hbb.OptionMessage.fromObject(t.option,n+1)}if(t.file_transfer!=null){if(typeof t.file_transfer!="object")throw TypeError(".hbb.LoginRequest.file_transfer: object expected");r.file_transfer=u.hbb.FileTransfer.fromObject(t.file_transfer,n+1)}if(t.port_forward!=null){if(typeof t.port_forward!="object")throw TypeError(".hbb.LoginRequest.port_forward: object expected");r.port_forward=u.hbb.PortForward.fromObject(t.port_forward,n+1)}if(t.view_camera!=null){if(typeof t.view_camera!="object")throw TypeError(".hbb.LoginRequest.view_camera: object expected");r.view_camera=u.hbb.ViewCamera.fromObject(t.view_camera,n+1)}if(t.video_ack_required!=null&&(r.video_ack_required=!!t.video_ack_required),t.session_id!=null&&(l.Long?(r.session_id=l.Long.fromValue(t.session_id)).unsigned=!0:typeof t.session_id=="string"?r.session_id=parseInt(t.session_id,10):typeof t.session_id=="number"?r.session_id=t.session_id:typeof t.session_id=="object"&&(r.session_id=new l.LongBits(t.session_id.low>>>0,t.session_id.high>>>0).toNumber(!0))),t.version!=null&&(r.version=String(t.version)),t.os_login!=null){if(typeof t.os_login!="object")throw TypeError(".hbb.LoginRequest.os_login: object expected");r.os_login=u.hbb.OSLogin.fromObject(t.os_login,n+1)}return t.my_platform!=null&&(r.my_platform=String(t.my_platform)),t.hwid!=null&&(typeof t.hwid=="string"?l.base64.decode(t.hwid,r.hwid=l.newBuffer(l.base64.length(t.hwid)),0):t.hwid.length>=0&&(r.hwid=t.hwid)),r},i.toObject=function(t,n){n||(n={});let r={};if(n.defaults){if(r.username="",n.bytes===String?r.password="":(r.password=[],n.bytes!==Array&&(r.password=l.newBuffer(r.password))),r.my_id="",r.my_name="",r.option=null,r.video_ack_required=!1,l.Long){let f=new l.Long(0,0,!0);r.session_id=n.longs===String?f.toString():n.longs===Number?f.toNumber():f}else r.session_id=n.longs===String?"0":0;r.version="",r.os_login=null,r.my_platform="",n.bytes===String?r.hwid="":(r.hwid=[],n.bytes!==Array&&(r.hwid=l.newBuffer(r.hwid)))}return t.username!=null&&t.hasOwnProperty("username")&&(r.username=t.username),t.password!=null&&t.hasOwnProperty("password")&&(r.password=n.bytes===String?l.base64.encode(t.password,0,t.password.length):n.bytes===Array?Array.prototype.slice.call(t.password):t.password),t.my_id!=null&&t.hasOwnProperty("my_id")&&(r.my_id=t.my_id),t.my_name!=null&&t.hasOwnProperty("my_name")&&(r.my_name=t.my_name),t.option!=null&&t.hasOwnProperty("option")&&(r.option=u.hbb.OptionMessage.toObject(t.option,n)),t.file_transfer!=null&&t.hasOwnProperty("file_transfer")&&(r.file_transfer=u.hbb.FileTransfer.toObject(t.file_transfer,n),n.oneofs&&(r.union="file_transfer")),t.port_forward!=null&&t.hasOwnProperty("port_forward")&&(r.port_forward=u.hbb.PortForward.toObject(t.port_forward,n),n.oneofs&&(r.union="port_forward")),t.video_ack_required!=null&&t.hasOwnProperty("video_ack_required")&&(r.video_ack_required=t.video_ack_required),t.session_id!=null&&t.hasOwnProperty("session_id")&&(typeof t.session_id=="number"?r.session_id=n.longs===String?String(t.session_id):t.session_id:r.session_id=n.longs===String?l.Long.prototype.toString.call(t.session_id):n.longs===Number?new l.LongBits(t.session_id.low>>>0,t.session_id.high>>>0).toNumber(!0):t.session_id),t.version!=null&&t.hasOwnProperty("version")&&(r.version=t.version),t.os_login!=null&&t.hasOwnProperty("os_login")&&(r.os_login=u.hbb.OSLogin.toObject(t.os_login,n)),t.my_platform!=null&&t.hasOwnProperty("my_platform")&&(r.my_platform=t.my_platform),t.hwid!=null&&t.hasOwnProperty("hwid")&&(r.hwid=n.bytes===String?l.base64.encode(t.hwid,0,t.hwid.length):n.bytes===Array?Array.prototype.slice.call(t.hwid):t.hwid),t.view_camera!=null&&t.hasOwnProperty("view_camera")&&(r.view_camera=u.hbb.ViewCamera.toObject(t.view_camera,n),n.oneofs&&(r.union="view_camera")),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/hbb.LoginRequest"},i}(),p.Auth2FA=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.Auth2FA;for(;e.pos>>3){case 1:{d.code=e.string();break}case 2:{d.hwid=e.bytes();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.code!=null&&e.hasOwnProperty("code")&&!l.isString(e.code)?"code: string expected":e.hwid!=null&&e.hasOwnProperty("hwid")&&!(e.hwid&&typeof e.hwid.length=="number"||l.isString(e.hwid))?"hwid: buffer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.Auth2FA)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.Auth2FA;return e.code!=null&&(n.code=String(e.code)),e.hwid!=null&&(typeof e.hwid=="string"?l.base64.decode(e.hwid,n.hwid=l.newBuffer(l.base64.length(e.hwid)),0):e.hwid.length>=0&&(n.hwid=e.hwid)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.code="",t.bytes===String?n.hwid="":(n.hwid=[],t.bytes!==Array&&(n.hwid=l.newBuffer(n.hwid)))),e.code!=null&&e.hasOwnProperty("code")&&(n.code=e.code),e.hwid!=null&&e.hasOwnProperty("hwid")&&(n.hwid=t.bytes===String?l.base64.encode(e.hwid,0,e.hwid.length):t.bytes===Array?Array.prototype.slice.call(e.hwid):e.hwid),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.Auth2FA"},i}(),p.ChatMessage=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.ChatMessage;for(;e.pos>>3){case 1:{d.text=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.text!=null&&e.hasOwnProperty("text")&&!l.isString(e.text)?"text: string expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.ChatMessage)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.ChatMessage;return e.text!=null&&(n.text=String(e.text)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.text=""),e.text!=null&&e.hasOwnProperty("text")&&(n.text=e.text),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.ChatMessage"},i}(),p.Features=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.Features;for(;e.pos>>3){case 1:{d.privacy_mode=e.bool();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.privacy_mode!=null&&e.hasOwnProperty("privacy_mode")&&typeof e.privacy_mode!="boolean"?"privacy_mode: boolean expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.Features)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.Features;return e.privacy_mode!=null&&(n.privacy_mode=!!e.privacy_mode),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.privacy_mode=!1),e.privacy_mode!=null&&e.hasOwnProperty("privacy_mode")&&(n.privacy_mode=e.privacy_mode),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.Features"},i}(),p.CodecAbility=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.CodecAbility;for(;e.pos>>3){case 1:{d.vp8=e.bool();break}case 2:{d.vp9=e.bool();break}case 3:{d.av1=e.bool();break}case 4:{d.h264=e.bool();break}case 5:{d.h265=e.bool();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.vp8!=null&&e.hasOwnProperty("vp8")&&typeof e.vp8!="boolean"?"vp8: boolean expected":e.vp9!=null&&e.hasOwnProperty("vp9")&&typeof e.vp9!="boolean"?"vp9: boolean expected":e.av1!=null&&e.hasOwnProperty("av1")&&typeof e.av1!="boolean"?"av1: boolean expected":e.h264!=null&&e.hasOwnProperty("h264")&&typeof e.h264!="boolean"?"h264: boolean expected":e.h265!=null&&e.hasOwnProperty("h265")&&typeof e.h265!="boolean"?"h265: boolean expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.CodecAbility)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.CodecAbility;return e.vp8!=null&&(n.vp8=!!e.vp8),e.vp9!=null&&(n.vp9=!!e.vp9),e.av1!=null&&(n.av1=!!e.av1),e.h264!=null&&(n.h264=!!e.h264),e.h265!=null&&(n.h265=!!e.h265),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.vp8=!1,n.vp9=!1,n.av1=!1,n.h264=!1,n.h265=!1),e.vp8!=null&&e.hasOwnProperty("vp8")&&(n.vp8=e.vp8),e.vp9!=null&&e.hasOwnProperty("vp9")&&(n.vp9=e.vp9),e.av1!=null&&e.hasOwnProperty("av1")&&(n.av1=e.av1),e.h264!=null&&e.hasOwnProperty("h264")&&(n.h264=e.h264),e.h265!=null&&e.hasOwnProperty("h265")&&(n.h265=e.h265),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.CodecAbility"},i}(),p.SupportedEncoding=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.SupportedEncoding;for(;e.pos>>3){case 1:{d.h264=e.bool();break}case 2:{d.h265=e.bool();break}case 3:{d.vp8=e.bool();break}case 4:{d.av1=e.bool();break}case 5:{d.i444=u.hbb.CodecAbility.decode(e,e.uint32(),void 0,r+1);break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.h264!=null&&e.hasOwnProperty("h264")&&typeof e.h264!="boolean")return"h264: boolean expected";if(e.h265!=null&&e.hasOwnProperty("h265")&&typeof e.h265!="boolean")return"h265: boolean expected";if(e.vp8!=null&&e.hasOwnProperty("vp8")&&typeof e.vp8!="boolean")return"vp8: boolean expected";if(e.av1!=null&&e.hasOwnProperty("av1")&&typeof e.av1!="boolean")return"av1: boolean expected";if(e.i444!=null&&e.hasOwnProperty("i444")){let n=u.hbb.CodecAbility.verify(e.i444,t+1);if(n)return"i444."+n}return null},i.fromObject=function(e,t){if(e instanceof u.hbb.SupportedEncoding)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.SupportedEncoding;if(e.h264!=null&&(n.h264=!!e.h264),e.h265!=null&&(n.h265=!!e.h265),e.vp8!=null&&(n.vp8=!!e.vp8),e.av1!=null&&(n.av1=!!e.av1),e.i444!=null){if(typeof e.i444!="object")throw TypeError(".hbb.SupportedEncoding.i444: object expected");n.i444=u.hbb.CodecAbility.fromObject(e.i444,t+1)}return n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.h264=!1,n.h265=!1,n.vp8=!1,n.av1=!1,n.i444=null),e.h264!=null&&e.hasOwnProperty("h264")&&(n.h264=e.h264),e.h265!=null&&e.hasOwnProperty("h265")&&(n.h265=e.h265),e.vp8!=null&&e.hasOwnProperty("vp8")&&(n.vp8=e.vp8),e.av1!=null&&e.hasOwnProperty("av1")&&(n.av1=e.av1),e.i444!=null&&e.hasOwnProperty("i444")&&(n.i444=u.hbb.CodecAbility.toObject(e.i444,t)),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.SupportedEncoding"},i}(),p.PeerInfo=function(){function i(o){if(this.displays=[],o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.PeerInfo;for(;e.pos>>3){case 1:{d.username=e.string();break}case 2:{d.hostname=e.string();break}case 3:{d.platform=e.string();break}case 4:{d.displays&&d.displays.length||(d.displays=[]),d.displays.push(u.hbb.DisplayInfo.decode(e,e.uint32(),void 0,r+1));break}case 5:{d.current_display=e.int32();break}case 6:{d.sas_enabled=e.bool();break}case 7:{d.version=e.string();break}case 9:{d.features=u.hbb.Features.decode(e,e.uint32(),void 0,r+1);break}case 10:{d.encoding=u.hbb.SupportedEncoding.decode(e,e.uint32(),void 0,r+1);break}case 11:{d.resolutions=u.hbb.SupportedResolutions.decode(e,e.uint32(),void 0,r+1);break}case 12:{d.platform_additions=e.string();break}case 13:{d.windows_sessions=u.hbb.WindowsSessions.decode(e,e.uint32(),void 0,r+1);break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.username!=null&&e.hasOwnProperty("username")&&!l.isString(e.username))return"username: string expected";if(e.hostname!=null&&e.hasOwnProperty("hostname")&&!l.isString(e.hostname))return"hostname: string expected";if(e.platform!=null&&e.hasOwnProperty("platform")&&!l.isString(e.platform))return"platform: string expected";if(e.displays!=null&&e.hasOwnProperty("displays")){if(!Array.isArray(e.displays))return"displays: array expected";for(let n=0;nl.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.PeerInfo;if(e.username!=null&&(n.username=String(e.username)),e.hostname!=null&&(n.hostname=String(e.hostname)),e.platform!=null&&(n.platform=String(e.platform)),e.displays){if(!Array.isArray(e.displays))throw TypeError(".hbb.PeerInfo.displays: array expected");n.displays=[];for(let r=0;rs.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.WindowsSession;for(;e.pos>>3){case 1:{d.sid=e.uint32();break}case 2:{d.name=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.sid!=null&&e.hasOwnProperty("sid")&&!l.isInteger(e.sid)?"sid: integer expected":e.name!=null&&e.hasOwnProperty("name")&&!l.isString(e.name)?"name: string expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.WindowsSession)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.WindowsSession;return e.sid!=null&&(n.sid=e.sid>>>0),e.name!=null&&(n.name=String(e.name)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.sid=0,n.name=""),e.sid!=null&&e.hasOwnProperty("sid")&&(n.sid=e.sid),e.name!=null&&e.hasOwnProperty("name")&&(n.name=e.name),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.WindowsSession"},i}(),p.LoginResponse=function(){function i(e){if(e)for(let t=Object.keys(e),n=0;ns.recursionLimit)throw Error("maximum nesting depth exceeded");let d=n===void 0?t.len:t.pos+n,c=new u.hbb.LoginResponse;for(;t.pos>>3){case 1:{c.error=t.string();break}case 2:{c.peer_info=u.hbb.PeerInfo.decode(t,t.uint32(),void 0,f+1);break}case 3:{c.enable_trusted_devices=t.bool();break}default:t.skipType(w&7,f);break}}return c},i.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},i.verify=function(t,n){if(typeof t!="object"||t===null)return"object expected";if(n===void 0&&(n=0),n>l.recursionLimit)return"maximum nesting depth exceeded";let r={};if(t.error!=null&&t.hasOwnProperty("error")&&(r.union=1,!l.isString(t.error)))return"error: string expected";if(t.peer_info!=null&&t.hasOwnProperty("peer_info")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.PeerInfo.verify(t.peer_info,n+1);if(f)return"peer_info."+f}}return t.enable_trusted_devices!=null&&t.hasOwnProperty("enable_trusted_devices")&&typeof t.enable_trusted_devices!="boolean"?"enable_trusted_devices: boolean expected":null},i.fromObject=function(t,n){if(t instanceof u.hbb.LoginResponse)return t;if(n===void 0&&(n=0),n>l.recursionLimit)throw Error("maximum nesting depth exceeded");let r=new u.hbb.LoginResponse;if(t.error!=null&&(r.error=String(t.error)),t.peer_info!=null){if(typeof t.peer_info!="object")throw TypeError(".hbb.LoginResponse.peer_info: object expected");r.peer_info=u.hbb.PeerInfo.fromObject(t.peer_info,n+1)}return t.enable_trusted_devices!=null&&(r.enable_trusted_devices=!!t.enable_trusted_devices),r},i.toObject=function(t,n){n||(n={});let r={};return n.defaults&&(r.enable_trusted_devices=!1),t.error!=null&&t.hasOwnProperty("error")&&(r.error=t.error,n.oneofs&&(r.union="error")),t.peer_info!=null&&t.hasOwnProperty("peer_info")&&(r.peer_info=u.hbb.PeerInfo.toObject(t.peer_info,n),n.oneofs&&(r.union="peer_info")),t.enable_trusted_devices!=null&&t.hasOwnProperty("enable_trusted_devices")&&(r.enable_trusted_devices=t.enable_trusted_devices),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/hbb.LoginResponse"},i}(),p.TouchScaleUpdate=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.TouchScaleUpdate;for(;e.pos>>3){case 1:{d.scale=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.scale!=null&&e.hasOwnProperty("scale")&&!l.isInteger(e.scale)?"scale: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.TouchScaleUpdate)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.TouchScaleUpdate;return e.scale!=null&&(n.scale=e.scale|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.scale=0),e.scale!=null&&e.hasOwnProperty("scale")&&(n.scale=e.scale),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.TouchScaleUpdate"},i}(),p.TouchPanStart=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.TouchPanStart;for(;e.pos>>3){case 1:{d.x=e.int32();break}case 2:{d.y=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.x!=null&&e.hasOwnProperty("x")&&!l.isInteger(e.x)?"x: integer expected":e.y!=null&&e.hasOwnProperty("y")&&!l.isInteger(e.y)?"y: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.TouchPanStart)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.TouchPanStart;return e.x!=null&&(n.x=e.x|0),e.y!=null&&(n.y=e.y|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.x=0,n.y=0),e.x!=null&&e.hasOwnProperty("x")&&(n.x=e.x),e.y!=null&&e.hasOwnProperty("y")&&(n.y=e.y),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.TouchPanStart"},i}(),p.TouchPanUpdate=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.TouchPanUpdate;for(;e.pos>>3){case 1:{d.x=e.int32();break}case 2:{d.y=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.x!=null&&e.hasOwnProperty("x")&&!l.isInteger(e.x)?"x: integer expected":e.y!=null&&e.hasOwnProperty("y")&&!l.isInteger(e.y)?"y: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.TouchPanUpdate)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.TouchPanUpdate;return e.x!=null&&(n.x=e.x|0),e.y!=null&&(n.y=e.y|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.x=0,n.y=0),e.x!=null&&e.hasOwnProperty("x")&&(n.x=e.x),e.y!=null&&e.hasOwnProperty("y")&&(n.y=e.y),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.TouchPanUpdate"},i}(),p.TouchPanEnd=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.TouchPanEnd;for(;e.pos>>3){case 1:{d.x=e.int32();break}case 2:{d.y=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.x!=null&&e.hasOwnProperty("x")&&!l.isInteger(e.x)?"x: integer expected":e.y!=null&&e.hasOwnProperty("y")&&!l.isInteger(e.y)?"y: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.TouchPanEnd)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.TouchPanEnd;return e.x!=null&&(n.x=e.x|0),e.y!=null&&(n.y=e.y|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.x=0,n.y=0),e.x!=null&&e.hasOwnProperty("x")&&(n.x=e.x),e.y!=null&&e.hasOwnProperty("y")&&(n.y=e.y),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.TouchPanEnd"},i}(),p.TouchEvent=function(){function i(e){if(e)for(let t=Object.keys(e),n=0;ns.recursionLimit)throw Error("maximum nesting depth exceeded");let d=n===void 0?t.len:t.pos+n,c=new u.hbb.TouchEvent;for(;t.pos>>3){case 1:{c.scale_update=u.hbb.TouchScaleUpdate.decode(t,t.uint32(),void 0,f+1);break}case 2:{c.pan_start=u.hbb.TouchPanStart.decode(t,t.uint32(),void 0,f+1);break}case 3:{c.pan_update=u.hbb.TouchPanUpdate.decode(t,t.uint32(),void 0,f+1);break}case 4:{c.pan_end=u.hbb.TouchPanEnd.decode(t,t.uint32(),void 0,f+1);break}default:t.skipType(w&7,f);break}}return c},i.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},i.verify=function(t,n){if(typeof t!="object"||t===null)return"object expected";if(n===void 0&&(n=0),n>l.recursionLimit)return"maximum nesting depth exceeded";let r={};if(t.scale_update!=null&&t.hasOwnProperty("scale_update")){r.union=1;{let f=u.hbb.TouchScaleUpdate.verify(t.scale_update,n+1);if(f)return"scale_update."+f}}if(t.pan_start!=null&&t.hasOwnProperty("pan_start")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.TouchPanStart.verify(t.pan_start,n+1);if(f)return"pan_start."+f}}if(t.pan_update!=null&&t.hasOwnProperty("pan_update")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.TouchPanUpdate.verify(t.pan_update,n+1);if(f)return"pan_update."+f}}if(t.pan_end!=null&&t.hasOwnProperty("pan_end")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.TouchPanEnd.verify(t.pan_end,n+1);if(f)return"pan_end."+f}}return null},i.fromObject=function(t,n){if(t instanceof u.hbb.TouchEvent)return t;if(n===void 0&&(n=0),n>l.recursionLimit)throw Error("maximum nesting depth exceeded");let r=new u.hbb.TouchEvent;if(t.scale_update!=null){if(typeof t.scale_update!="object")throw TypeError(".hbb.TouchEvent.scale_update: object expected");r.scale_update=u.hbb.TouchScaleUpdate.fromObject(t.scale_update,n+1)}if(t.pan_start!=null){if(typeof t.pan_start!="object")throw TypeError(".hbb.TouchEvent.pan_start: object expected");r.pan_start=u.hbb.TouchPanStart.fromObject(t.pan_start,n+1)}if(t.pan_update!=null){if(typeof t.pan_update!="object")throw TypeError(".hbb.TouchEvent.pan_update: object expected");r.pan_update=u.hbb.TouchPanUpdate.fromObject(t.pan_update,n+1)}if(t.pan_end!=null){if(typeof t.pan_end!="object")throw TypeError(".hbb.TouchEvent.pan_end: object expected");r.pan_end=u.hbb.TouchPanEnd.fromObject(t.pan_end,n+1)}return r},i.toObject=function(t,n){n||(n={});let r={};return t.scale_update!=null&&t.hasOwnProperty("scale_update")&&(r.scale_update=u.hbb.TouchScaleUpdate.toObject(t.scale_update,n),n.oneofs&&(r.union="scale_update")),t.pan_start!=null&&t.hasOwnProperty("pan_start")&&(r.pan_start=u.hbb.TouchPanStart.toObject(t.pan_start,n),n.oneofs&&(r.union="pan_start")),t.pan_update!=null&&t.hasOwnProperty("pan_update")&&(r.pan_update=u.hbb.TouchPanUpdate.toObject(t.pan_update,n),n.oneofs&&(r.union="pan_update")),t.pan_end!=null&&t.hasOwnProperty("pan_end")&&(r.pan_end=u.hbb.TouchPanEnd.toObject(t.pan_end,n),n.oneofs&&(r.union="pan_end")),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/hbb.TouchEvent"},i}(),p.PointerDeviceEvent=function(){function i(e){if(this.modifiers=[],e)for(let t=Object.keys(e),n=0;ns.recursionLimit)throw Error("maximum nesting depth exceeded");let d=n===void 0?t.len:t.pos+n,c=new u.hbb.PointerDeviceEvent;for(;t.pos>>3){case 1:{c.touch_event=u.hbb.TouchEvent.decode(t,t.uint32(),void 0,f+1);break}case 2:{if(c.modifiers&&c.modifiers.length||(c.modifiers=[]),(w&7)===2){let B=t.uint32()+t.pos;for(;t.posl.recursionLimit)return"maximum nesting depth exceeded";let r={};if(t.touch_event!=null&&t.hasOwnProperty("touch_event")){r.union=1;{let f=u.hbb.TouchEvent.verify(t.touch_event,n+1);if(f)return"touch_event."+f}}if(t.modifiers!=null&&t.hasOwnProperty("modifiers")){if(!Array.isArray(t.modifiers))return"modifiers: array expected";for(let f=0;fl.recursionLimit)throw Error("maximum nesting depth exceeded");let r=new u.hbb.PointerDeviceEvent;if(t.touch_event!=null){if(typeof t.touch_event!="object")throw TypeError(".hbb.PointerDeviceEvent.touch_event: object expected");r.touch_event=u.hbb.TouchEvent.fromObject(t.touch_event,n+1)}if(t.modifiers){if(!Array.isArray(t.modifiers))throw TypeError(".hbb.PointerDeviceEvent.modifiers: array expected");r.modifiers=[];for(let f=0;fs.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.MouseEvent;for(;e.pos>>3){case 1:{d.mask=e.int32();break}case 2:{d.x=e.sint32();break}case 3:{d.y=e.sint32();break}case 4:{if(d.modifiers&&d.modifiers.length||(d.modifiers=[]),(c&7)===2){let w=e.uint32()+e.pos;for(;e.posl.recursionLimit)return"maximum nesting depth exceeded";if(e.mask!=null&&e.hasOwnProperty("mask")&&!l.isInteger(e.mask))return"mask: integer expected";if(e.x!=null&&e.hasOwnProperty("x")&&!l.isInteger(e.x))return"x: integer expected";if(e.y!=null&&e.hasOwnProperty("y")&&!l.isInteger(e.y))return"y: integer expected";if(e.modifiers!=null&&e.hasOwnProperty("modifiers")){if(!Array.isArray(e.modifiers))return"modifiers: array expected";for(let n=0;nl.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.MouseEvent;if(e.mask!=null&&(n.mask=e.mask|0),e.x!=null&&(n.x=e.x|0),e.y!=null&&(n.y=e.y|0),e.modifiers){if(!Array.isArray(e.modifiers))throw TypeError(".hbb.MouseEvent.modifiers: array expected");n.modifiers=[];for(let r=0;rs.recursionLimit)throw Error("maximum nesting depth exceeded");let d=n===void 0?t.len:t.pos+n,c=new u.hbb.KeyEvent;for(;t.pos>>3){case 1:{c.down=t.bool();break}case 2:{c.press=t.bool();break}case 3:{c.control_key=t.int32();break}case 4:{c.chr=t.uint32();break}case 5:{c.unicode=t.uint32();break}case 6:{c.seq=t.string();break}case 7:{c.win2win_hotkey=t.uint32();break}case 8:{if(c.modifiers&&c.modifiers.length||(c.modifiers=[]),(w&7)===2){let B=t.uint32()+t.pos;for(;t.posl.recursionLimit)return"maximum nesting depth exceeded";let r={};if(t.down!=null&&t.hasOwnProperty("down")&&typeof t.down!="boolean")return"down: boolean expected";if(t.press!=null&&t.hasOwnProperty("press")&&typeof t.press!="boolean")return"press: boolean expected";if(t.control_key!=null&&t.hasOwnProperty("control_key"))switch(r.union=1,t.control_key){default:return"control_key: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:case 100:case 101:break}if(t.chr!=null&&t.hasOwnProperty("chr")){if(r.union===1)return"union: multiple values";if(r.union=1,!l.isInteger(t.chr))return"chr: integer expected"}if(t.unicode!=null&&t.hasOwnProperty("unicode")){if(r.union===1)return"union: multiple values";if(r.union=1,!l.isInteger(t.unicode))return"unicode: integer expected"}if(t.seq!=null&&t.hasOwnProperty("seq")){if(r.union===1)return"union: multiple values";if(r.union=1,!l.isString(t.seq))return"seq: string expected"}if(t.win2win_hotkey!=null&&t.hasOwnProperty("win2win_hotkey")){if(r.union===1)return"union: multiple values";if(r.union=1,!l.isInteger(t.win2win_hotkey))return"win2win_hotkey: integer expected"}if(t.modifiers!=null&&t.hasOwnProperty("modifiers")){if(!Array.isArray(t.modifiers))return"modifiers: array expected";for(let f=0;fl.recursionLimit)throw Error("maximum nesting depth exceeded");let r=new u.hbb.KeyEvent;switch(t.down!=null&&(r.down=!!t.down),t.press!=null&&(r.press=!!t.press),t.control_key){default:if(typeof t.control_key=="number"){r.control_key=t.control_key;break}break;case"Unknown":case 0:r.control_key=0;break;case"Alt":case 1:r.control_key=1;break;case"Backspace":case 2:r.control_key=2;break;case"CapsLock":case 3:r.control_key=3;break;case"Control":case 4:r.control_key=4;break;case"Delete":case 5:r.control_key=5;break;case"DownArrow":case 6:r.control_key=6;break;case"End":case 7:r.control_key=7;break;case"Escape":case 8:r.control_key=8;break;case"F1":case 9:r.control_key=9;break;case"F10":case 10:r.control_key=10;break;case"F11":case 11:r.control_key=11;break;case"F12":case 12:r.control_key=12;break;case"F2":case 13:r.control_key=13;break;case"F3":case 14:r.control_key=14;break;case"F4":case 15:r.control_key=15;break;case"F5":case 16:r.control_key=16;break;case"F6":case 17:r.control_key=17;break;case"F7":case 18:r.control_key=18;break;case"F8":case 19:r.control_key=19;break;case"F9":case 20:r.control_key=20;break;case"Home":case 21:r.control_key=21;break;case"LeftArrow":case 22:r.control_key=22;break;case"Meta":case 23:r.control_key=23;break;case"Option":case 24:r.control_key=24;break;case"PageDown":case 25:r.control_key=25;break;case"PageUp":case 26:r.control_key=26;break;case"Return":case 27:r.control_key=27;break;case"RightArrow":case 28:r.control_key=28;break;case"Shift":case 29:r.control_key=29;break;case"Space":case 30:r.control_key=30;break;case"Tab":case 31:r.control_key=31;break;case"UpArrow":case 32:r.control_key=32;break;case"Numpad0":case 33:r.control_key=33;break;case"Numpad1":case 34:r.control_key=34;break;case"Numpad2":case 35:r.control_key=35;break;case"Numpad3":case 36:r.control_key=36;break;case"Numpad4":case 37:r.control_key=37;break;case"Numpad5":case 38:r.control_key=38;break;case"Numpad6":case 39:r.control_key=39;break;case"Numpad7":case 40:r.control_key=40;break;case"Numpad8":case 41:r.control_key=41;break;case"Numpad9":case 42:r.control_key=42;break;case"Cancel":case 43:r.control_key=43;break;case"Clear":case 44:r.control_key=44;break;case"Menu":case 45:r.control_key=45;break;case"Pause":case 46:r.control_key=46;break;case"Kana":case 47:r.control_key=47;break;case"Hangul":case 48:r.control_key=48;break;case"Junja":case 49:r.control_key=49;break;case"Final":case 50:r.control_key=50;break;case"Hanja":case 51:r.control_key=51;break;case"Kanji":case 52:r.control_key=52;break;case"Convert":case 53:r.control_key=53;break;case"Select":case 54:r.control_key=54;break;case"Print":case 55:r.control_key=55;break;case"Execute":case 56:r.control_key=56;break;case"Snapshot":case 57:r.control_key=57;break;case"Insert":case 58:r.control_key=58;break;case"Help":case 59:r.control_key=59;break;case"Sleep":case 60:r.control_key=60;break;case"Separator":case 61:r.control_key=61;break;case"Scroll":case 62:r.control_key=62;break;case"NumLock":case 63:r.control_key=63;break;case"RWin":case 64:r.control_key=64;break;case"Apps":case 65:r.control_key=65;break;case"Multiply":case 66:r.control_key=66;break;case"Add":case 67:r.control_key=67;break;case"Subtract":case 68:r.control_key=68;break;case"Decimal":case 69:r.control_key=69;break;case"Divide":case 70:r.control_key=70;break;case"Equals":case 71:r.control_key=71;break;case"NumpadEnter":case 72:r.control_key=72;break;case"RShift":case 73:r.control_key=73;break;case"RControl":case 74:r.control_key=74;break;case"RAlt":case 75:r.control_key=75;break;case"VolumeMute":case 76:r.control_key=76;break;case"VolumeUp":case 77:r.control_key=77;break;case"VolumeDown":case 78:r.control_key=78;break;case"Power":case 79:r.control_key=79;break;case"CtrlAltDel":case 100:r.control_key=100;break;case"LockScreen":case 101:r.control_key=101;break}if(t.chr!=null&&(r.chr=t.chr>>>0),t.unicode!=null&&(r.unicode=t.unicode>>>0),t.seq!=null&&(r.seq=String(t.seq)),t.win2win_hotkey!=null&&(r.win2win_hotkey=t.win2win_hotkey>>>0),t.modifiers){if(!Array.isArray(t.modifiers))throw TypeError(".hbb.KeyEvent.modifiers: array expected");r.modifiers=[];for(let f=0;fs.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.CursorData;for(;e.pos>>3){case 1:{d.id=e.uint64();break}case 2:{d.hotx=e.sint32();break}case 3:{d.hoty=e.sint32();break}case 4:{d.width=e.int32();break}case 5:{d.height=e.int32();break}case 6:{d.colors=e.bytes();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!l.isInteger(e.id)&&!(e.id&&l.isInteger(e.id.low)&&l.isInteger(e.id.high))?"id: integer|Long expected":e.hotx!=null&&e.hasOwnProperty("hotx")&&!l.isInteger(e.hotx)?"hotx: integer expected":e.hoty!=null&&e.hasOwnProperty("hoty")&&!l.isInteger(e.hoty)?"hoty: integer expected":e.width!=null&&e.hasOwnProperty("width")&&!l.isInteger(e.width)?"width: integer expected":e.height!=null&&e.hasOwnProperty("height")&&!l.isInteger(e.height)?"height: integer expected":e.colors!=null&&e.hasOwnProperty("colors")&&!(e.colors&&typeof e.colors.length=="number"||l.isString(e.colors))?"colors: buffer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.CursorData)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.CursorData;return e.id!=null&&(l.Long?(n.id=l.Long.fromValue(e.id)).unsigned=!0:typeof e.id=="string"?n.id=parseInt(e.id,10):typeof e.id=="number"?n.id=e.id:typeof e.id=="object"&&(n.id=new l.LongBits(e.id.low>>>0,e.id.high>>>0).toNumber(!0))),e.hotx!=null&&(n.hotx=e.hotx|0),e.hoty!=null&&(n.hoty=e.hoty|0),e.width!=null&&(n.width=e.width|0),e.height!=null&&(n.height=e.height|0),e.colors!=null&&(typeof e.colors=="string"?l.base64.decode(e.colors,n.colors=l.newBuffer(l.base64.length(e.colors)),0):e.colors.length>=0&&(n.colors=e.colors)),n},i.toObject=function(e,t){t||(t={});let n={};if(t.defaults){if(l.Long){let r=new l.Long(0,0,!0);n.id=t.longs===String?r.toString():t.longs===Number?r.toNumber():r}else n.id=t.longs===String?"0":0;n.hotx=0,n.hoty=0,n.width=0,n.height=0,t.bytes===String?n.colors="":(n.colors=[],t.bytes!==Array&&(n.colors=l.newBuffer(n.colors)))}return e.id!=null&&e.hasOwnProperty("id")&&(typeof e.id=="number"?n.id=t.longs===String?String(e.id):e.id:n.id=t.longs===String?l.Long.prototype.toString.call(e.id):t.longs===Number?new l.LongBits(e.id.low>>>0,e.id.high>>>0).toNumber(!0):e.id),e.hotx!=null&&e.hasOwnProperty("hotx")&&(n.hotx=e.hotx),e.hoty!=null&&e.hasOwnProperty("hoty")&&(n.hoty=e.hoty),e.width!=null&&e.hasOwnProperty("width")&&(n.width=e.width),e.height!=null&&e.hasOwnProperty("height")&&(n.height=e.height),e.colors!=null&&e.hasOwnProperty("colors")&&(n.colors=t.bytes===String?l.base64.encode(e.colors,0,e.colors.length):t.bytes===Array?Array.prototype.slice.call(e.colors):e.colors),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.CursorData"},i}(),p.CursorPosition=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.CursorPosition;for(;e.pos>>3){case 1:{d.x=e.sint32();break}case 2:{d.y=e.sint32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.x!=null&&e.hasOwnProperty("x")&&!l.isInteger(e.x)?"x: integer expected":e.y!=null&&e.hasOwnProperty("y")&&!l.isInteger(e.y)?"y: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.CursorPosition)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.CursorPosition;return e.x!=null&&(n.x=e.x|0),e.y!=null&&(n.y=e.y|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.x=0,n.y=0),e.x!=null&&e.hasOwnProperty("x")&&(n.x=e.x),e.y!=null&&e.hasOwnProperty("y")&&(n.y=e.y),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.CursorPosition"},i}(),p.Hash=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.Hash;for(;e.pos>>3){case 1:{d.salt=e.string();break}case 2:{d.challenge=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.salt!=null&&e.hasOwnProperty("salt")&&!l.isString(e.salt)?"salt: string expected":e.challenge!=null&&e.hasOwnProperty("challenge")&&!l.isString(e.challenge)?"challenge: string expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.Hash)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.Hash;return e.salt!=null&&(n.salt=String(e.salt)),e.challenge!=null&&(n.challenge=String(e.challenge)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.salt="",n.challenge=""),e.salt!=null&&e.hasOwnProperty("salt")&&(n.salt=e.salt),e.challenge!=null&&e.hasOwnProperty("challenge")&&(n.challenge=e.challenge),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.Hash"},i}(),p.ClipboardFormat=function(){let i={},o=Object.create(i);return o[i[0]="Text"]=0,o[i[1]="Rtf"]=1,o[i[2]="Html"]=2,o[i[21]="ImageRgba"]=21,o[i[22]="ImagePng"]=22,o[i[23]="ImageSvg"]=23,o[i[31]="Special"]=31,o}(),p.Clipboard=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.Clipboard;for(;e.pos>>3){case 1:{d.compress=e.bool();break}case 2:{d.content=e.bytes();break}case 3:{d.width=e.int32();break}case 4:{d.height=e.int32();break}case 5:{d.format=e.int32();break}case 6:{d.special_name=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.compress!=null&&e.hasOwnProperty("compress")&&typeof e.compress!="boolean")return"compress: boolean expected";if(e.content!=null&&e.hasOwnProperty("content")&&!(e.content&&typeof e.content.length=="number"||l.isString(e.content)))return"content: buffer expected";if(e.width!=null&&e.hasOwnProperty("width")&&!l.isInteger(e.width))return"width: integer expected";if(e.height!=null&&e.hasOwnProperty("height")&&!l.isInteger(e.height))return"height: integer expected";if(e.format!=null&&e.hasOwnProperty("format"))switch(e.format){default:return"format: enum value expected";case 0:case 1:case 2:case 21:case 22:case 23:case 31:break}return e.special_name!=null&&e.hasOwnProperty("special_name")&&!l.isString(e.special_name)?"special_name: string expected":null},i.fromObject=function(e,t){if(e instanceof u.hbb.Clipboard)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.Clipboard;switch(e.compress!=null&&(n.compress=!!e.compress),e.content!=null&&(typeof e.content=="string"?l.base64.decode(e.content,n.content=l.newBuffer(l.base64.length(e.content)),0):e.content.length>=0&&(n.content=e.content)),e.width!=null&&(n.width=e.width|0),e.height!=null&&(n.height=e.height|0),e.format){default:if(typeof e.format=="number"){n.format=e.format;break}break;case"Text":case 0:n.format=0;break;case"Rtf":case 1:n.format=1;break;case"Html":case 2:n.format=2;break;case"ImageRgba":case 21:n.format=21;break;case"ImagePng":case 22:n.format=22;break;case"ImageSvg":case 23:n.format=23;break;case"Special":case 31:n.format=31;break}return e.special_name!=null&&(n.special_name=String(e.special_name)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.compress=!1,t.bytes===String?n.content="":(n.content=[],t.bytes!==Array&&(n.content=l.newBuffer(n.content))),n.width=0,n.height=0,n.format=t.enums===String?"Text":0,n.special_name=""),e.compress!=null&&e.hasOwnProperty("compress")&&(n.compress=e.compress),e.content!=null&&e.hasOwnProperty("content")&&(n.content=t.bytes===String?l.base64.encode(e.content,0,e.content.length):t.bytes===Array?Array.prototype.slice.call(e.content):e.content),e.width!=null&&e.hasOwnProperty("width")&&(n.width=e.width),e.height!=null&&e.hasOwnProperty("height")&&(n.height=e.height),e.format!=null&&e.hasOwnProperty("format")&&(n.format=t.enums===String?u.hbb.ClipboardFormat[e.format]===void 0?e.format:u.hbb.ClipboardFormat[e.format]:e.format),e.special_name!=null&&e.hasOwnProperty("special_name")&&(n.special_name=e.special_name),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.Clipboard"},i}(),p.MultiClipboards=function(){function i(o){if(this.clipboards=[],o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.MultiClipboards;for(;e.pos>>3){case 1:{d.clipboards&&d.clipboards.length||(d.clipboards=[]),d.clipboards.push(u.hbb.Clipboard.decode(e,e.uint32(),void 0,r+1));break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.clipboards!=null&&e.hasOwnProperty("clipboards")){if(!Array.isArray(e.clipboards))return"clipboards: array expected";for(let n=0;nl.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.MultiClipboards;if(e.clipboards){if(!Array.isArray(e.clipboards))throw TypeError(".hbb.MultiClipboards.clipboards: array expected");n.clipboards=[];for(let r=0;rs.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.FileEntry;for(;e.pos>>3){case 1:{d.entry_type=e.int32();break}case 2:{d.name=e.string();break}case 3:{d.is_hidden=e.bool();break}case 4:{d.size=e.uint64();break}case 5:{d.modified_time=e.uint64();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.entry_type!=null&&e.hasOwnProperty("entry_type"))switch(e.entry_type){default:return"entry_type: enum value expected";case 0:case 2:case 3:case 4:case 5:break}return e.name!=null&&e.hasOwnProperty("name")&&!l.isString(e.name)?"name: string expected":e.is_hidden!=null&&e.hasOwnProperty("is_hidden")&&typeof e.is_hidden!="boolean"?"is_hidden: boolean expected":e.size!=null&&e.hasOwnProperty("size")&&!l.isInteger(e.size)&&!(e.size&&l.isInteger(e.size.low)&&l.isInteger(e.size.high))?"size: integer|Long expected":e.modified_time!=null&&e.hasOwnProperty("modified_time")&&!l.isInteger(e.modified_time)&&!(e.modified_time&&l.isInteger(e.modified_time.low)&&l.isInteger(e.modified_time.high))?"modified_time: integer|Long expected":null},i.fromObject=function(e,t){if(e instanceof u.hbb.FileEntry)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.FileEntry;switch(e.entry_type){default:if(typeof e.entry_type=="number"){n.entry_type=e.entry_type;break}break;case"Dir":case 0:n.entry_type=0;break;case"DirLink":case 2:n.entry_type=2;break;case"DirDrive":case 3:n.entry_type=3;break;case"File":case 4:n.entry_type=4;break;case"FileLink":case 5:n.entry_type=5;break}return e.name!=null&&(n.name=String(e.name)),e.is_hidden!=null&&(n.is_hidden=!!e.is_hidden),e.size!=null&&(l.Long?(n.size=l.Long.fromValue(e.size)).unsigned=!0:typeof e.size=="string"?n.size=parseInt(e.size,10):typeof e.size=="number"?n.size=e.size:typeof e.size=="object"&&(n.size=new l.LongBits(e.size.low>>>0,e.size.high>>>0).toNumber(!0))),e.modified_time!=null&&(l.Long?(n.modified_time=l.Long.fromValue(e.modified_time)).unsigned=!0:typeof e.modified_time=="string"?n.modified_time=parseInt(e.modified_time,10):typeof e.modified_time=="number"?n.modified_time=e.modified_time:typeof e.modified_time=="object"&&(n.modified_time=new l.LongBits(e.modified_time.low>>>0,e.modified_time.high>>>0).toNumber(!0))),n},i.toObject=function(e,t){t||(t={});let n={};if(t.defaults){if(n.entry_type=t.enums===String?"Dir":0,n.name="",n.is_hidden=!1,l.Long){let r=new l.Long(0,0,!0);n.size=t.longs===String?r.toString():t.longs===Number?r.toNumber():r}else n.size=t.longs===String?"0":0;if(l.Long){let r=new l.Long(0,0,!0);n.modified_time=t.longs===String?r.toString():t.longs===Number?r.toNumber():r}else n.modified_time=t.longs===String?"0":0}return e.entry_type!=null&&e.hasOwnProperty("entry_type")&&(n.entry_type=t.enums===String?u.hbb.FileType[e.entry_type]===void 0?e.entry_type:u.hbb.FileType[e.entry_type]:e.entry_type),e.name!=null&&e.hasOwnProperty("name")&&(n.name=e.name),e.is_hidden!=null&&e.hasOwnProperty("is_hidden")&&(n.is_hidden=e.is_hidden),e.size!=null&&e.hasOwnProperty("size")&&(typeof e.size=="number"?n.size=t.longs===String?String(e.size):e.size:n.size=t.longs===String?l.Long.prototype.toString.call(e.size):t.longs===Number?new l.LongBits(e.size.low>>>0,e.size.high>>>0).toNumber(!0):e.size),e.modified_time!=null&&e.hasOwnProperty("modified_time")&&(typeof e.modified_time=="number"?n.modified_time=t.longs===String?String(e.modified_time):e.modified_time:n.modified_time=t.longs===String?l.Long.prototype.toString.call(e.modified_time):t.longs===Number?new l.LongBits(e.modified_time.low>>>0,e.modified_time.high>>>0).toNumber(!0):e.modified_time),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.FileEntry"},i}(),p.FileDirectory=function(){function i(o){if(this.entries=[],o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.FileDirectory;for(;e.pos>>3){case 1:{d.id=e.int32();break}case 2:{d.path=e.string();break}case 3:{d.entries&&d.entries.length||(d.entries=[]),d.entries.push(u.hbb.FileEntry.decode(e,e.uint32(),void 0,r+1));break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.id!=null&&e.hasOwnProperty("id")&&!l.isInteger(e.id))return"id: integer expected";if(e.path!=null&&e.hasOwnProperty("path")&&!l.isString(e.path))return"path: string expected";if(e.entries!=null&&e.hasOwnProperty("entries")){if(!Array.isArray(e.entries))return"entries: array expected";for(let n=0;nl.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.FileDirectory;if(e.id!=null&&(n.id=e.id|0),e.path!=null&&(n.path=String(e.path)),e.entries){if(!Array.isArray(e.entries))throw TypeError(".hbb.FileDirectory.entries: array expected");n.entries=[];for(let r=0;rs.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.ReadDir;for(;e.pos>>3){case 1:{d.path=e.string();break}case 2:{d.include_hidden=e.bool();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.path!=null&&e.hasOwnProperty("path")&&!l.isString(e.path)?"path: string expected":e.include_hidden!=null&&e.hasOwnProperty("include_hidden")&&typeof e.include_hidden!="boolean"?"include_hidden: boolean expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.ReadDir)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.ReadDir;return e.path!=null&&(n.path=String(e.path)),e.include_hidden!=null&&(n.include_hidden=!!e.include_hidden),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.path="",n.include_hidden=!1),e.path!=null&&e.hasOwnProperty("path")&&(n.path=e.path),e.include_hidden!=null&&e.hasOwnProperty("include_hidden")&&(n.include_hidden=e.include_hidden),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.ReadDir"},i}(),p.ReadEmptyDirs=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.ReadEmptyDirs;for(;e.pos>>3){case 1:{d.path=e.string();break}case 2:{d.include_hidden=e.bool();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.path!=null&&e.hasOwnProperty("path")&&!l.isString(e.path)?"path: string expected":e.include_hidden!=null&&e.hasOwnProperty("include_hidden")&&typeof e.include_hidden!="boolean"?"include_hidden: boolean expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.ReadEmptyDirs)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.ReadEmptyDirs;return e.path!=null&&(n.path=String(e.path)),e.include_hidden!=null&&(n.include_hidden=!!e.include_hidden),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.path="",n.include_hidden=!1),e.path!=null&&e.hasOwnProperty("path")&&(n.path=e.path),e.include_hidden!=null&&e.hasOwnProperty("include_hidden")&&(n.include_hidden=e.include_hidden),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.ReadEmptyDirs"},i}(),p.ReadEmptyDirsResponse=function(){function i(o){if(this.empty_dirs=[],o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.ReadEmptyDirsResponse;for(;e.pos>>3){case 1:{d.path=e.string();break}case 2:{d.empty_dirs&&d.empty_dirs.length||(d.empty_dirs=[]),d.empty_dirs.push(u.hbb.FileDirectory.decode(e,e.uint32(),void 0,r+1));break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.path!=null&&e.hasOwnProperty("path")&&!l.isString(e.path))return"path: string expected";if(e.empty_dirs!=null&&e.hasOwnProperty("empty_dirs")){if(!Array.isArray(e.empty_dirs))return"empty_dirs: array expected";for(let n=0;nl.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.ReadEmptyDirsResponse;if(e.path!=null&&(n.path=String(e.path)),e.empty_dirs){if(!Array.isArray(e.empty_dirs))throw TypeError(".hbb.ReadEmptyDirsResponse.empty_dirs: array expected");n.empty_dirs=[];for(let r=0;rs.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.ReadAllFiles;for(;e.pos>>3){case 1:{d.id=e.int32();break}case 2:{d.path=e.string();break}case 3:{d.include_hidden=e.bool();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!l.isInteger(e.id)?"id: integer expected":e.path!=null&&e.hasOwnProperty("path")&&!l.isString(e.path)?"path: string expected":e.include_hidden!=null&&e.hasOwnProperty("include_hidden")&&typeof e.include_hidden!="boolean"?"include_hidden: boolean expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.ReadAllFiles)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.ReadAllFiles;return e.id!=null&&(n.id=e.id|0),e.path!=null&&(n.path=String(e.path)),e.include_hidden!=null&&(n.include_hidden=!!e.include_hidden),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id=0,n.path="",n.include_hidden=!1),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.path!=null&&e.hasOwnProperty("path")&&(n.path=e.path),e.include_hidden!=null&&e.hasOwnProperty("include_hidden")&&(n.include_hidden=e.include_hidden),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.ReadAllFiles"},i}(),p.FileRename=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.FileRename;for(;e.pos>>3){case 1:{d.id=e.int32();break}case 2:{d.path=e.string();break}case 3:{d.new_name=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!l.isInteger(e.id)?"id: integer expected":e.path!=null&&e.hasOwnProperty("path")&&!l.isString(e.path)?"path: string expected":e.new_name!=null&&e.hasOwnProperty("new_name")&&!l.isString(e.new_name)?"new_name: string expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.FileRename)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.FileRename;return e.id!=null&&(n.id=e.id|0),e.path!=null&&(n.path=String(e.path)),e.new_name!=null&&(n.new_name=String(e.new_name)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id=0,n.path="",n.new_name=""),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.path!=null&&e.hasOwnProperty("path")&&(n.path=e.path),e.new_name!=null&&e.hasOwnProperty("new_name")&&(n.new_name=e.new_name),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.FileRename"},i}(),p.FileAction=function(){function i(e){if(e)for(let t=Object.keys(e),n=0;ns.recursionLimit)throw Error("maximum nesting depth exceeded");let d=n===void 0?t.len:t.pos+n,c=new u.hbb.FileAction;for(;t.pos>>3){case 1:{c.read_dir=u.hbb.ReadDir.decode(t,t.uint32(),void 0,f+1);break}case 2:{c.send=u.hbb.FileTransferSendRequest.decode(t,t.uint32(),void 0,f+1);break}case 3:{c.receive=u.hbb.FileTransferReceiveRequest.decode(t,t.uint32(),void 0,f+1);break}case 4:{c.create=u.hbb.FileDirCreate.decode(t,t.uint32(),void 0,f+1);break}case 5:{c.remove_dir=u.hbb.FileRemoveDir.decode(t,t.uint32(),void 0,f+1);break}case 6:{c.remove_file=u.hbb.FileRemoveFile.decode(t,t.uint32(),void 0,f+1);break}case 7:{c.all_files=u.hbb.ReadAllFiles.decode(t,t.uint32(),void 0,f+1);break}case 8:{c.cancel=u.hbb.FileTransferCancel.decode(t,t.uint32(),void 0,f+1);break}case 9:{c.send_confirm=u.hbb.FileTransferSendConfirmRequest.decode(t,t.uint32(),void 0,f+1);break}case 10:{c.rename=u.hbb.FileRename.decode(t,t.uint32(),void 0,f+1);break}case 11:{c.read_empty_dirs=u.hbb.ReadEmptyDirs.decode(t,t.uint32(),void 0,f+1);break}default:t.skipType(w&7,f);break}}return c},i.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},i.verify=function(t,n){if(typeof t!="object"||t===null)return"object expected";if(n===void 0&&(n=0),n>l.recursionLimit)return"maximum nesting depth exceeded";let r={};if(t.read_dir!=null&&t.hasOwnProperty("read_dir")){r.union=1;{let f=u.hbb.ReadDir.verify(t.read_dir,n+1);if(f)return"read_dir."+f}}if(t.send!=null&&t.hasOwnProperty("send")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.FileTransferSendRequest.verify(t.send,n+1);if(f)return"send."+f}}if(t.receive!=null&&t.hasOwnProperty("receive")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.FileTransferReceiveRequest.verify(t.receive,n+1);if(f)return"receive."+f}}if(t.create!=null&&t.hasOwnProperty("create")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.FileDirCreate.verify(t.create,n+1);if(f)return"create."+f}}if(t.remove_dir!=null&&t.hasOwnProperty("remove_dir")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.FileRemoveDir.verify(t.remove_dir,n+1);if(f)return"remove_dir."+f}}if(t.remove_file!=null&&t.hasOwnProperty("remove_file")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.FileRemoveFile.verify(t.remove_file,n+1);if(f)return"remove_file."+f}}if(t.all_files!=null&&t.hasOwnProperty("all_files")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.ReadAllFiles.verify(t.all_files,n+1);if(f)return"all_files."+f}}if(t.cancel!=null&&t.hasOwnProperty("cancel")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.FileTransferCancel.verify(t.cancel,n+1);if(f)return"cancel."+f}}if(t.send_confirm!=null&&t.hasOwnProperty("send_confirm")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.FileTransferSendConfirmRequest.verify(t.send_confirm,n+1);if(f)return"send_confirm."+f}}if(t.rename!=null&&t.hasOwnProperty("rename")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.FileRename.verify(t.rename,n+1);if(f)return"rename."+f}}if(t.read_empty_dirs!=null&&t.hasOwnProperty("read_empty_dirs")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.ReadEmptyDirs.verify(t.read_empty_dirs,n+1);if(f)return"read_empty_dirs."+f}}return null},i.fromObject=function(t,n){if(t instanceof u.hbb.FileAction)return t;if(n===void 0&&(n=0),n>l.recursionLimit)throw Error("maximum nesting depth exceeded");let r=new u.hbb.FileAction;if(t.read_dir!=null){if(typeof t.read_dir!="object")throw TypeError(".hbb.FileAction.read_dir: object expected");r.read_dir=u.hbb.ReadDir.fromObject(t.read_dir,n+1)}if(t.send!=null){if(typeof t.send!="object")throw TypeError(".hbb.FileAction.send: object expected");r.send=u.hbb.FileTransferSendRequest.fromObject(t.send,n+1)}if(t.receive!=null){if(typeof t.receive!="object")throw TypeError(".hbb.FileAction.receive: object expected");r.receive=u.hbb.FileTransferReceiveRequest.fromObject(t.receive,n+1)}if(t.create!=null){if(typeof t.create!="object")throw TypeError(".hbb.FileAction.create: object expected");r.create=u.hbb.FileDirCreate.fromObject(t.create,n+1)}if(t.remove_dir!=null){if(typeof t.remove_dir!="object")throw TypeError(".hbb.FileAction.remove_dir: object expected");r.remove_dir=u.hbb.FileRemoveDir.fromObject(t.remove_dir,n+1)}if(t.remove_file!=null){if(typeof t.remove_file!="object")throw TypeError(".hbb.FileAction.remove_file: object expected");r.remove_file=u.hbb.FileRemoveFile.fromObject(t.remove_file,n+1)}if(t.all_files!=null){if(typeof t.all_files!="object")throw TypeError(".hbb.FileAction.all_files: object expected");r.all_files=u.hbb.ReadAllFiles.fromObject(t.all_files,n+1)}if(t.cancel!=null){if(typeof t.cancel!="object")throw TypeError(".hbb.FileAction.cancel: object expected");r.cancel=u.hbb.FileTransferCancel.fromObject(t.cancel,n+1)}if(t.send_confirm!=null){if(typeof t.send_confirm!="object")throw TypeError(".hbb.FileAction.send_confirm: object expected");r.send_confirm=u.hbb.FileTransferSendConfirmRequest.fromObject(t.send_confirm,n+1)}if(t.rename!=null){if(typeof t.rename!="object")throw TypeError(".hbb.FileAction.rename: object expected");r.rename=u.hbb.FileRename.fromObject(t.rename,n+1)}if(t.read_empty_dirs!=null){if(typeof t.read_empty_dirs!="object")throw TypeError(".hbb.FileAction.read_empty_dirs: object expected");r.read_empty_dirs=u.hbb.ReadEmptyDirs.fromObject(t.read_empty_dirs,n+1)}return r},i.toObject=function(t,n){n||(n={});let r={};return t.read_dir!=null&&t.hasOwnProperty("read_dir")&&(r.read_dir=u.hbb.ReadDir.toObject(t.read_dir,n),n.oneofs&&(r.union="read_dir")),t.send!=null&&t.hasOwnProperty("send")&&(r.send=u.hbb.FileTransferSendRequest.toObject(t.send,n),n.oneofs&&(r.union="send")),t.receive!=null&&t.hasOwnProperty("receive")&&(r.receive=u.hbb.FileTransferReceiveRequest.toObject(t.receive,n),n.oneofs&&(r.union="receive")),t.create!=null&&t.hasOwnProperty("create")&&(r.create=u.hbb.FileDirCreate.toObject(t.create,n),n.oneofs&&(r.union="create")),t.remove_dir!=null&&t.hasOwnProperty("remove_dir")&&(r.remove_dir=u.hbb.FileRemoveDir.toObject(t.remove_dir,n),n.oneofs&&(r.union="remove_dir")),t.remove_file!=null&&t.hasOwnProperty("remove_file")&&(r.remove_file=u.hbb.FileRemoveFile.toObject(t.remove_file,n),n.oneofs&&(r.union="remove_file")),t.all_files!=null&&t.hasOwnProperty("all_files")&&(r.all_files=u.hbb.ReadAllFiles.toObject(t.all_files,n),n.oneofs&&(r.union="all_files")),t.cancel!=null&&t.hasOwnProperty("cancel")&&(r.cancel=u.hbb.FileTransferCancel.toObject(t.cancel,n),n.oneofs&&(r.union="cancel")),t.send_confirm!=null&&t.hasOwnProperty("send_confirm")&&(r.send_confirm=u.hbb.FileTransferSendConfirmRequest.toObject(t.send_confirm,n),n.oneofs&&(r.union="send_confirm")),t.rename!=null&&t.hasOwnProperty("rename")&&(r.rename=u.hbb.FileRename.toObject(t.rename,n),n.oneofs&&(r.union="rename")),t.read_empty_dirs!=null&&t.hasOwnProperty("read_empty_dirs")&&(r.read_empty_dirs=u.hbb.ReadEmptyDirs.toObject(t.read_empty_dirs,n),n.oneofs&&(r.union="read_empty_dirs")),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/hbb.FileAction"},i}(),p.FileTransferCancel=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.FileTransferCancel;for(;e.pos>>3){case 1:{d.id=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!l.isInteger(e.id)?"id: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.FileTransferCancel)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.FileTransferCancel;return e.id!=null&&(n.id=e.id|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id=0),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.FileTransferCancel"},i}(),p.FileResponse=function(){function i(e){if(e)for(let t=Object.keys(e),n=0;ns.recursionLimit)throw Error("maximum nesting depth exceeded");let d=n===void 0?t.len:t.pos+n,c=new u.hbb.FileResponse;for(;t.pos>>3){case 1:{c.dir=u.hbb.FileDirectory.decode(t,t.uint32(),void 0,f+1);break}case 2:{c.block=u.hbb.FileTransferBlock.decode(t,t.uint32(),void 0,f+1);break}case 3:{c.error=u.hbb.FileTransferError.decode(t,t.uint32(),void 0,f+1);break}case 4:{c.done=u.hbb.FileTransferDone.decode(t,t.uint32(),void 0,f+1);break}case 5:{c.digest=u.hbb.FileTransferDigest.decode(t,t.uint32(),void 0,f+1);break}case 6:{c.empty_dirs=u.hbb.ReadEmptyDirsResponse.decode(t,t.uint32(),void 0,f+1);break}default:t.skipType(w&7,f);break}}return c},i.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},i.verify=function(t,n){if(typeof t!="object"||t===null)return"object expected";if(n===void 0&&(n=0),n>l.recursionLimit)return"maximum nesting depth exceeded";let r={};if(t.dir!=null&&t.hasOwnProperty("dir")){r.union=1;{let f=u.hbb.FileDirectory.verify(t.dir,n+1);if(f)return"dir."+f}}if(t.block!=null&&t.hasOwnProperty("block")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.FileTransferBlock.verify(t.block,n+1);if(f)return"block."+f}}if(t.error!=null&&t.hasOwnProperty("error")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.FileTransferError.verify(t.error,n+1);if(f)return"error."+f}}if(t.done!=null&&t.hasOwnProperty("done")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.FileTransferDone.verify(t.done,n+1);if(f)return"done."+f}}if(t.digest!=null&&t.hasOwnProperty("digest")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.FileTransferDigest.verify(t.digest,n+1);if(f)return"digest."+f}}if(t.empty_dirs!=null&&t.hasOwnProperty("empty_dirs")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.ReadEmptyDirsResponse.verify(t.empty_dirs,n+1);if(f)return"empty_dirs."+f}}return null},i.fromObject=function(t,n){if(t instanceof u.hbb.FileResponse)return t;if(n===void 0&&(n=0),n>l.recursionLimit)throw Error("maximum nesting depth exceeded");let r=new u.hbb.FileResponse;if(t.dir!=null){if(typeof t.dir!="object")throw TypeError(".hbb.FileResponse.dir: object expected");r.dir=u.hbb.FileDirectory.fromObject(t.dir,n+1)}if(t.block!=null){if(typeof t.block!="object")throw TypeError(".hbb.FileResponse.block: object expected");r.block=u.hbb.FileTransferBlock.fromObject(t.block,n+1)}if(t.error!=null){if(typeof t.error!="object")throw TypeError(".hbb.FileResponse.error: object expected");r.error=u.hbb.FileTransferError.fromObject(t.error,n+1)}if(t.done!=null){if(typeof t.done!="object")throw TypeError(".hbb.FileResponse.done: object expected");r.done=u.hbb.FileTransferDone.fromObject(t.done,n+1)}if(t.digest!=null){if(typeof t.digest!="object")throw TypeError(".hbb.FileResponse.digest: object expected");r.digest=u.hbb.FileTransferDigest.fromObject(t.digest,n+1)}if(t.empty_dirs!=null){if(typeof t.empty_dirs!="object")throw TypeError(".hbb.FileResponse.empty_dirs: object expected");r.empty_dirs=u.hbb.ReadEmptyDirsResponse.fromObject(t.empty_dirs,n+1)}return r},i.toObject=function(t,n){n||(n={});let r={};return t.dir!=null&&t.hasOwnProperty("dir")&&(r.dir=u.hbb.FileDirectory.toObject(t.dir,n),n.oneofs&&(r.union="dir")),t.block!=null&&t.hasOwnProperty("block")&&(r.block=u.hbb.FileTransferBlock.toObject(t.block,n),n.oneofs&&(r.union="block")),t.error!=null&&t.hasOwnProperty("error")&&(r.error=u.hbb.FileTransferError.toObject(t.error,n),n.oneofs&&(r.union="error")),t.done!=null&&t.hasOwnProperty("done")&&(r.done=u.hbb.FileTransferDone.toObject(t.done,n),n.oneofs&&(r.union="done")),t.digest!=null&&t.hasOwnProperty("digest")&&(r.digest=u.hbb.FileTransferDigest.toObject(t.digest,n),n.oneofs&&(r.union="digest")),t.empty_dirs!=null&&t.hasOwnProperty("empty_dirs")&&(r.empty_dirs=u.hbb.ReadEmptyDirsResponse.toObject(t.empty_dirs,n),n.oneofs&&(r.union="empty_dirs")),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/hbb.FileResponse"},i}(),p.FileTransferDigest=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.FileTransferDigest;for(;e.pos>>3){case 1:{d.id=e.int32();break}case 2:{d.file_num=e.sint32();break}case 3:{d.last_modified=e.uint64();break}case 4:{d.file_size=e.uint64();break}case 5:{d.is_upload=e.bool();break}case 6:{d.is_identical=e.bool();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!l.isInteger(e.id)?"id: integer expected":e.file_num!=null&&e.hasOwnProperty("file_num")&&!l.isInteger(e.file_num)?"file_num: integer expected":e.last_modified!=null&&e.hasOwnProperty("last_modified")&&!l.isInteger(e.last_modified)&&!(e.last_modified&&l.isInteger(e.last_modified.low)&&l.isInteger(e.last_modified.high))?"last_modified: integer|Long expected":e.file_size!=null&&e.hasOwnProperty("file_size")&&!l.isInteger(e.file_size)&&!(e.file_size&&l.isInteger(e.file_size.low)&&l.isInteger(e.file_size.high))?"file_size: integer|Long expected":e.is_upload!=null&&e.hasOwnProperty("is_upload")&&typeof e.is_upload!="boolean"?"is_upload: boolean expected":e.is_identical!=null&&e.hasOwnProperty("is_identical")&&typeof e.is_identical!="boolean"?"is_identical: boolean expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.FileTransferDigest)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.FileTransferDigest;return e.id!=null&&(n.id=e.id|0),e.file_num!=null&&(n.file_num=e.file_num|0),e.last_modified!=null&&(l.Long?(n.last_modified=l.Long.fromValue(e.last_modified)).unsigned=!0:typeof e.last_modified=="string"?n.last_modified=parseInt(e.last_modified,10):typeof e.last_modified=="number"?n.last_modified=e.last_modified:typeof e.last_modified=="object"&&(n.last_modified=new l.LongBits(e.last_modified.low>>>0,e.last_modified.high>>>0).toNumber(!0))),e.file_size!=null&&(l.Long?(n.file_size=l.Long.fromValue(e.file_size)).unsigned=!0:typeof e.file_size=="string"?n.file_size=parseInt(e.file_size,10):typeof e.file_size=="number"?n.file_size=e.file_size:typeof e.file_size=="object"&&(n.file_size=new l.LongBits(e.file_size.low>>>0,e.file_size.high>>>0).toNumber(!0))),e.is_upload!=null&&(n.is_upload=!!e.is_upload),e.is_identical!=null&&(n.is_identical=!!e.is_identical),n},i.toObject=function(e,t){t||(t={});let n={};if(t.defaults){if(n.id=0,n.file_num=0,l.Long){let r=new l.Long(0,0,!0);n.last_modified=t.longs===String?r.toString():t.longs===Number?r.toNumber():r}else n.last_modified=t.longs===String?"0":0;if(l.Long){let r=new l.Long(0,0,!0);n.file_size=t.longs===String?r.toString():t.longs===Number?r.toNumber():r}else n.file_size=t.longs===String?"0":0;n.is_upload=!1,n.is_identical=!1}return e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.file_num!=null&&e.hasOwnProperty("file_num")&&(n.file_num=e.file_num),e.last_modified!=null&&e.hasOwnProperty("last_modified")&&(typeof e.last_modified=="number"?n.last_modified=t.longs===String?String(e.last_modified):e.last_modified:n.last_modified=t.longs===String?l.Long.prototype.toString.call(e.last_modified):t.longs===Number?new l.LongBits(e.last_modified.low>>>0,e.last_modified.high>>>0).toNumber(!0):e.last_modified),e.file_size!=null&&e.hasOwnProperty("file_size")&&(typeof e.file_size=="number"?n.file_size=t.longs===String?String(e.file_size):e.file_size:n.file_size=t.longs===String?l.Long.prototype.toString.call(e.file_size):t.longs===Number?new l.LongBits(e.file_size.low>>>0,e.file_size.high>>>0).toNumber(!0):e.file_size),e.is_upload!=null&&e.hasOwnProperty("is_upload")&&(n.is_upload=e.is_upload),e.is_identical!=null&&e.hasOwnProperty("is_identical")&&(n.is_identical=e.is_identical),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.FileTransferDigest"},i}(),p.FileTransferBlock=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.FileTransferBlock;for(;e.pos>>3){case 1:{d.id=e.int32();break}case 2:{d.file_num=e.sint32();break}case 3:{d.data=e.bytes();break}case 4:{d.compressed=e.bool();break}case 5:{d.blk_id=e.uint32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!l.isInteger(e.id)?"id: integer expected":e.file_num!=null&&e.hasOwnProperty("file_num")&&!l.isInteger(e.file_num)?"file_num: integer expected":e.data!=null&&e.hasOwnProperty("data")&&!(e.data&&typeof e.data.length=="number"||l.isString(e.data))?"data: buffer expected":e.compressed!=null&&e.hasOwnProperty("compressed")&&typeof e.compressed!="boolean"?"compressed: boolean expected":e.blk_id!=null&&e.hasOwnProperty("blk_id")&&!l.isInteger(e.blk_id)?"blk_id: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.FileTransferBlock)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.FileTransferBlock;return e.id!=null&&(n.id=e.id|0),e.file_num!=null&&(n.file_num=e.file_num|0),e.data!=null&&(typeof e.data=="string"?l.base64.decode(e.data,n.data=l.newBuffer(l.base64.length(e.data)),0):e.data.length>=0&&(n.data=e.data)),e.compressed!=null&&(n.compressed=!!e.compressed),e.blk_id!=null&&(n.blk_id=e.blk_id>>>0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id=0,n.file_num=0,t.bytes===String?n.data="":(n.data=[],t.bytes!==Array&&(n.data=l.newBuffer(n.data))),n.compressed=!1,n.blk_id=0),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.file_num!=null&&e.hasOwnProperty("file_num")&&(n.file_num=e.file_num),e.data!=null&&e.hasOwnProperty("data")&&(n.data=t.bytes===String?l.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),e.compressed!=null&&e.hasOwnProperty("compressed")&&(n.compressed=e.compressed),e.blk_id!=null&&e.hasOwnProperty("blk_id")&&(n.blk_id=e.blk_id),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.FileTransferBlock"},i}(),p.FileTransferError=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.FileTransferError;for(;e.pos>>3){case 1:{d.id=e.int32();break}case 2:{d.error=e.string();break}case 3:{d.file_num=e.sint32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!l.isInteger(e.id)?"id: integer expected":e.error!=null&&e.hasOwnProperty("error")&&!l.isString(e.error)?"error: string expected":e.file_num!=null&&e.hasOwnProperty("file_num")&&!l.isInteger(e.file_num)?"file_num: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.FileTransferError)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.FileTransferError;return e.id!=null&&(n.id=e.id|0),e.error!=null&&(n.error=String(e.error)),e.file_num!=null&&(n.file_num=e.file_num|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id=0,n.error="",n.file_num=0),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.error!=null&&e.hasOwnProperty("error")&&(n.error=e.error),e.file_num!=null&&e.hasOwnProperty("file_num")&&(n.file_num=e.file_num),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.FileTransferError"},i}(),p.FileTransferSendRequest=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.FileTransferSendRequest;for(;e.pos>>3){case 1:{d.id=e.int32();break}case 2:{d.path=e.string();break}case 3:{d.include_hidden=e.bool();break}case 4:{d.file_num=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!l.isInteger(e.id)?"id: integer expected":e.path!=null&&e.hasOwnProperty("path")&&!l.isString(e.path)?"path: string expected":e.include_hidden!=null&&e.hasOwnProperty("include_hidden")&&typeof e.include_hidden!="boolean"?"include_hidden: boolean expected":e.file_num!=null&&e.hasOwnProperty("file_num")&&!l.isInteger(e.file_num)?"file_num: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.FileTransferSendRequest)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.FileTransferSendRequest;return e.id!=null&&(n.id=e.id|0),e.path!=null&&(n.path=String(e.path)),e.include_hidden!=null&&(n.include_hidden=!!e.include_hidden),e.file_num!=null&&(n.file_num=e.file_num|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id=0,n.path="",n.include_hidden=!1,n.file_num=0),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.path!=null&&e.hasOwnProperty("path")&&(n.path=e.path),e.include_hidden!=null&&e.hasOwnProperty("include_hidden")&&(n.include_hidden=e.include_hidden),e.file_num!=null&&e.hasOwnProperty("file_num")&&(n.file_num=e.file_num),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.FileTransferSendRequest"},i}(),p.FileTransferSendConfirmRequest=function(){function i(e){if(e)for(let t=Object.keys(e),n=0;ns.recursionLimit)throw Error("maximum nesting depth exceeded");let d=n===void 0?t.len:t.pos+n,c=new u.hbb.FileTransferSendConfirmRequest;for(;t.pos>>3){case 1:{c.id=t.int32();break}case 2:{c.file_num=t.sint32();break}case 3:{c.skip=t.bool();break}case 4:{c.offset_blk=t.uint32();break}default:t.skipType(w&7,f);break}}return c},i.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},i.verify=function(t,n){if(typeof t!="object"||t===null)return"object expected";if(n===void 0&&(n=0),n>l.recursionLimit)return"maximum nesting depth exceeded";let r={};if(t.id!=null&&t.hasOwnProperty("id")&&!l.isInteger(t.id))return"id: integer expected";if(t.file_num!=null&&t.hasOwnProperty("file_num")&&!l.isInteger(t.file_num))return"file_num: integer expected";if(t.skip!=null&&t.hasOwnProperty("skip")&&(r.union=1,typeof t.skip!="boolean"))return"skip: boolean expected";if(t.offset_blk!=null&&t.hasOwnProperty("offset_blk")){if(r.union===1)return"union: multiple values";if(r.union=1,!l.isInteger(t.offset_blk))return"offset_blk: integer expected"}return null},i.fromObject=function(t,n){if(t instanceof u.hbb.FileTransferSendConfirmRequest)return t;if(n===void 0&&(n=0),n>l.recursionLimit)throw Error("maximum nesting depth exceeded");let r=new u.hbb.FileTransferSendConfirmRequest;return t.id!=null&&(r.id=t.id|0),t.file_num!=null&&(r.file_num=t.file_num|0),t.skip!=null&&(r.skip=!!t.skip),t.offset_blk!=null&&(r.offset_blk=t.offset_blk>>>0),r},i.toObject=function(t,n){n||(n={});let r={};return n.defaults&&(r.id=0,r.file_num=0),t.id!=null&&t.hasOwnProperty("id")&&(r.id=t.id),t.file_num!=null&&t.hasOwnProperty("file_num")&&(r.file_num=t.file_num),t.skip!=null&&t.hasOwnProperty("skip")&&(r.skip=t.skip,n.oneofs&&(r.union="skip")),t.offset_blk!=null&&t.hasOwnProperty("offset_blk")&&(r.offset_blk=t.offset_blk,n.oneofs&&(r.union="offset_blk")),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/hbb.FileTransferSendConfirmRequest"},i}(),p.FileTransferDone=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.FileTransferDone;for(;e.pos>>3){case 1:{d.id=e.int32();break}case 2:{d.file_num=e.sint32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!l.isInteger(e.id)?"id: integer expected":e.file_num!=null&&e.hasOwnProperty("file_num")&&!l.isInteger(e.file_num)?"file_num: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.FileTransferDone)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.FileTransferDone;return e.id!=null&&(n.id=e.id|0),e.file_num!=null&&(n.file_num=e.file_num|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id=0,n.file_num=0),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.file_num!=null&&e.hasOwnProperty("file_num")&&(n.file_num=e.file_num),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.FileTransferDone"},i}(),p.FileTransferReceiveRequest=function(){function i(o){if(this.files=[],o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.FileTransferReceiveRequest;for(;e.pos>>3){case 1:{d.id=e.int32();break}case 2:{d.path=e.string();break}case 3:{d.files&&d.files.length||(d.files=[]),d.files.push(u.hbb.FileEntry.decode(e,e.uint32(),void 0,r+1));break}case 4:{d.file_num=e.int32();break}case 5:{d.total_size=e.uint64();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.id!=null&&e.hasOwnProperty("id")&&!l.isInteger(e.id))return"id: integer expected";if(e.path!=null&&e.hasOwnProperty("path")&&!l.isString(e.path))return"path: string expected";if(e.files!=null&&e.hasOwnProperty("files")){if(!Array.isArray(e.files))return"files: array expected";for(let n=0;nl.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.FileTransferReceiveRequest;if(e.id!=null&&(n.id=e.id|0),e.path!=null&&(n.path=String(e.path)),e.files){if(!Array.isArray(e.files))throw TypeError(".hbb.FileTransferReceiveRequest.files: array expected");n.files=[];for(let r=0;r>>0,e.total_size.high>>>0).toNumber(!0))),n},i.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.files=[]),t.defaults)if(n.id=0,n.path="",n.file_num=0,l.Long){let r=new l.Long(0,0,!0);n.total_size=t.longs===String?r.toString():t.longs===Number?r.toNumber():r}else n.total_size=t.longs===String?"0":0;if(e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.path!=null&&e.hasOwnProperty("path")&&(n.path=e.path),e.files&&e.files.length){n.files=[];for(let r=0;r>>0,e.total_size.high>>>0).toNumber(!0):e.total_size),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.FileTransferReceiveRequest"},i}(),p.FileRemoveDir=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.FileRemoveDir;for(;e.pos>>3){case 1:{d.id=e.int32();break}case 2:{d.path=e.string();break}case 3:{d.recursive=e.bool();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!l.isInteger(e.id)?"id: integer expected":e.path!=null&&e.hasOwnProperty("path")&&!l.isString(e.path)?"path: string expected":e.recursive!=null&&e.hasOwnProperty("recursive")&&typeof e.recursive!="boolean"?"recursive: boolean expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.FileRemoveDir)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.FileRemoveDir;return e.id!=null&&(n.id=e.id|0),e.path!=null&&(n.path=String(e.path)),e.recursive!=null&&(n.recursive=!!e.recursive),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id=0,n.path="",n.recursive=!1),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.path!=null&&e.hasOwnProperty("path")&&(n.path=e.path),e.recursive!=null&&e.hasOwnProperty("recursive")&&(n.recursive=e.recursive),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.FileRemoveDir"},i}(),p.FileRemoveFile=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.FileRemoveFile;for(;e.pos>>3){case 1:{d.id=e.int32();break}case 2:{d.path=e.string();break}case 3:{d.file_num=e.sint32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!l.isInteger(e.id)?"id: integer expected":e.path!=null&&e.hasOwnProperty("path")&&!l.isString(e.path)?"path: string expected":e.file_num!=null&&e.hasOwnProperty("file_num")&&!l.isInteger(e.file_num)?"file_num: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.FileRemoveFile)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.FileRemoveFile;return e.id!=null&&(n.id=e.id|0),e.path!=null&&(n.path=String(e.path)),e.file_num!=null&&(n.file_num=e.file_num|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id=0,n.path="",n.file_num=0),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.path!=null&&e.hasOwnProperty("path")&&(n.path=e.path),e.file_num!=null&&e.hasOwnProperty("file_num")&&(n.file_num=e.file_num),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.FileRemoveFile"},i}(),p.FileDirCreate=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.FileDirCreate;for(;e.pos>>3){case 1:{d.id=e.int32();break}case 2:{d.path=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!l.isInteger(e.id)?"id: integer expected":e.path!=null&&e.hasOwnProperty("path")&&!l.isString(e.path)?"path: string expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.FileDirCreate)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.FileDirCreate;return e.id!=null&&(n.id=e.id|0),e.path!=null&&(n.path=String(e.path)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id=0,n.path=""),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.path!=null&&e.hasOwnProperty("path")&&(n.path=e.path),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.FileDirCreate"},i}(),p.CliprdrMonitorReady=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.CliprdrMonitorReady;for(;e.pos>>3){default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.CliprdrMonitorReady)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");return new u.hbb.CliprdrMonitorReady},i.toObject=function(){return{}},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.CliprdrMonitorReady"},i}(),p.CliprdrFormat=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.CliprdrFormat;for(;e.pos>>3){case 2:{d.id=e.int32();break}case 3:{d.format=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!l.isInteger(e.id)?"id: integer expected":e.format!=null&&e.hasOwnProperty("format")&&!l.isString(e.format)?"format: string expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.CliprdrFormat)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.CliprdrFormat;return e.id!=null&&(n.id=e.id|0),e.format!=null&&(n.format=String(e.format)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id=0,n.format=""),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.format!=null&&e.hasOwnProperty("format")&&(n.format=e.format),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.CliprdrFormat"},i}(),p.CliprdrServerFormatList=function(){function i(o){if(this.formats=[],o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.CliprdrServerFormatList;for(;e.pos>>3){case 2:{d.formats&&d.formats.length||(d.formats=[]),d.formats.push(u.hbb.CliprdrFormat.decode(e,e.uint32(),void 0,r+1));break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.formats!=null&&e.hasOwnProperty("formats")){if(!Array.isArray(e.formats))return"formats: array expected";for(let n=0;nl.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.CliprdrServerFormatList;if(e.formats){if(!Array.isArray(e.formats))throw TypeError(".hbb.CliprdrServerFormatList.formats: array expected");n.formats=[];for(let r=0;rs.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.CliprdrServerFormatListResponse;for(;e.pos>>3){case 2:{d.msg_flags=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.msg_flags!=null&&e.hasOwnProperty("msg_flags")&&!l.isInteger(e.msg_flags)?"msg_flags: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.CliprdrServerFormatListResponse)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.CliprdrServerFormatListResponse;return e.msg_flags!=null&&(n.msg_flags=e.msg_flags|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.msg_flags=0),e.msg_flags!=null&&e.hasOwnProperty("msg_flags")&&(n.msg_flags=e.msg_flags),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.CliprdrServerFormatListResponse"},i}(),p.CliprdrServerFormatDataRequest=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.CliprdrServerFormatDataRequest;for(;e.pos>>3){case 2:{d.requested_format_id=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.requested_format_id!=null&&e.hasOwnProperty("requested_format_id")&&!l.isInteger(e.requested_format_id)?"requested_format_id: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.CliprdrServerFormatDataRequest)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.CliprdrServerFormatDataRequest;return e.requested_format_id!=null&&(n.requested_format_id=e.requested_format_id|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.requested_format_id=0),e.requested_format_id!=null&&e.hasOwnProperty("requested_format_id")&&(n.requested_format_id=e.requested_format_id),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.CliprdrServerFormatDataRequest"},i}(),p.CliprdrServerFormatDataResponse=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.CliprdrServerFormatDataResponse;for(;e.pos>>3){case 2:{d.msg_flags=e.int32();break}case 3:{d.format_data=e.bytes();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.msg_flags!=null&&e.hasOwnProperty("msg_flags")&&!l.isInteger(e.msg_flags)?"msg_flags: integer expected":e.format_data!=null&&e.hasOwnProperty("format_data")&&!(e.format_data&&typeof e.format_data.length=="number"||l.isString(e.format_data))?"format_data: buffer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.CliprdrServerFormatDataResponse)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.CliprdrServerFormatDataResponse;return e.msg_flags!=null&&(n.msg_flags=e.msg_flags|0),e.format_data!=null&&(typeof e.format_data=="string"?l.base64.decode(e.format_data,n.format_data=l.newBuffer(l.base64.length(e.format_data)),0):e.format_data.length>=0&&(n.format_data=e.format_data)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.msg_flags=0,t.bytes===String?n.format_data="":(n.format_data=[],t.bytes!==Array&&(n.format_data=l.newBuffer(n.format_data)))),e.msg_flags!=null&&e.hasOwnProperty("msg_flags")&&(n.msg_flags=e.msg_flags),e.format_data!=null&&e.hasOwnProperty("format_data")&&(n.format_data=t.bytes===String?l.base64.encode(e.format_data,0,e.format_data.length):t.bytes===Array?Array.prototype.slice.call(e.format_data):e.format_data),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.CliprdrServerFormatDataResponse"},i}(),p.CliprdrFileContentsRequest=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.CliprdrFileContentsRequest;for(;e.pos>>3){case 2:{d.stream_id=e.int32();break}case 3:{d.list_index=e.int32();break}case 4:{d.dw_flags=e.int32();break}case 5:{d.n_position_low=e.int32();break}case 6:{d.n_position_high=e.int32();break}case 7:{d.cb_requested=e.int32();break}case 8:{d.have_clip_data_id=e.bool();break}case 9:{d.clip_data_id=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.stream_id!=null&&e.hasOwnProperty("stream_id")&&!l.isInteger(e.stream_id)?"stream_id: integer expected":e.list_index!=null&&e.hasOwnProperty("list_index")&&!l.isInteger(e.list_index)?"list_index: integer expected":e.dw_flags!=null&&e.hasOwnProperty("dw_flags")&&!l.isInteger(e.dw_flags)?"dw_flags: integer expected":e.n_position_low!=null&&e.hasOwnProperty("n_position_low")&&!l.isInteger(e.n_position_low)?"n_position_low: integer expected":e.n_position_high!=null&&e.hasOwnProperty("n_position_high")&&!l.isInteger(e.n_position_high)?"n_position_high: integer expected":e.cb_requested!=null&&e.hasOwnProperty("cb_requested")&&!l.isInteger(e.cb_requested)?"cb_requested: integer expected":e.have_clip_data_id!=null&&e.hasOwnProperty("have_clip_data_id")&&typeof e.have_clip_data_id!="boolean"?"have_clip_data_id: boolean expected":e.clip_data_id!=null&&e.hasOwnProperty("clip_data_id")&&!l.isInteger(e.clip_data_id)?"clip_data_id: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.CliprdrFileContentsRequest)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.CliprdrFileContentsRequest;return e.stream_id!=null&&(n.stream_id=e.stream_id|0),e.list_index!=null&&(n.list_index=e.list_index|0),e.dw_flags!=null&&(n.dw_flags=e.dw_flags|0),e.n_position_low!=null&&(n.n_position_low=e.n_position_low|0),e.n_position_high!=null&&(n.n_position_high=e.n_position_high|0),e.cb_requested!=null&&(n.cb_requested=e.cb_requested|0),e.have_clip_data_id!=null&&(n.have_clip_data_id=!!e.have_clip_data_id),e.clip_data_id!=null&&(n.clip_data_id=e.clip_data_id|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.stream_id=0,n.list_index=0,n.dw_flags=0,n.n_position_low=0,n.n_position_high=0,n.cb_requested=0,n.have_clip_data_id=!1,n.clip_data_id=0),e.stream_id!=null&&e.hasOwnProperty("stream_id")&&(n.stream_id=e.stream_id),e.list_index!=null&&e.hasOwnProperty("list_index")&&(n.list_index=e.list_index),e.dw_flags!=null&&e.hasOwnProperty("dw_flags")&&(n.dw_flags=e.dw_flags),e.n_position_low!=null&&e.hasOwnProperty("n_position_low")&&(n.n_position_low=e.n_position_low),e.n_position_high!=null&&e.hasOwnProperty("n_position_high")&&(n.n_position_high=e.n_position_high),e.cb_requested!=null&&e.hasOwnProperty("cb_requested")&&(n.cb_requested=e.cb_requested),e.have_clip_data_id!=null&&e.hasOwnProperty("have_clip_data_id")&&(n.have_clip_data_id=e.have_clip_data_id),e.clip_data_id!=null&&e.hasOwnProperty("clip_data_id")&&(n.clip_data_id=e.clip_data_id),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.CliprdrFileContentsRequest"},i}(),p.CliprdrFileContentsResponse=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.CliprdrFileContentsResponse;for(;e.pos>>3){case 3:{d.msg_flags=e.int32();break}case 4:{d.stream_id=e.int32();break}case 5:{d.requested_data=e.bytes();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.msg_flags!=null&&e.hasOwnProperty("msg_flags")&&!l.isInteger(e.msg_flags)?"msg_flags: integer expected":e.stream_id!=null&&e.hasOwnProperty("stream_id")&&!l.isInteger(e.stream_id)?"stream_id: integer expected":e.requested_data!=null&&e.hasOwnProperty("requested_data")&&!(e.requested_data&&typeof e.requested_data.length=="number"||l.isString(e.requested_data))?"requested_data: buffer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.CliprdrFileContentsResponse)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.CliprdrFileContentsResponse;return e.msg_flags!=null&&(n.msg_flags=e.msg_flags|0),e.stream_id!=null&&(n.stream_id=e.stream_id|0),e.requested_data!=null&&(typeof e.requested_data=="string"?l.base64.decode(e.requested_data,n.requested_data=l.newBuffer(l.base64.length(e.requested_data)),0):e.requested_data.length>=0&&(n.requested_data=e.requested_data)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.msg_flags=0,n.stream_id=0,t.bytes===String?n.requested_data="":(n.requested_data=[],t.bytes!==Array&&(n.requested_data=l.newBuffer(n.requested_data)))),e.msg_flags!=null&&e.hasOwnProperty("msg_flags")&&(n.msg_flags=e.msg_flags),e.stream_id!=null&&e.hasOwnProperty("stream_id")&&(n.stream_id=e.stream_id),e.requested_data!=null&&e.hasOwnProperty("requested_data")&&(n.requested_data=t.bytes===String?l.base64.encode(e.requested_data,0,e.requested_data.length):t.bytes===Array?Array.prototype.slice.call(e.requested_data):e.requested_data),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.CliprdrFileContentsResponse"},i}(),p.CliprdrTryEmpty=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.CliprdrTryEmpty;for(;e.pos>>3){default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.CliprdrTryEmpty)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");return new u.hbb.CliprdrTryEmpty},i.toObject=function(){return{}},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.CliprdrTryEmpty"},i}(),p.Cliprdr=function(){function i(e){if(e)for(let t=Object.keys(e),n=0;ns.recursionLimit)throw Error("maximum nesting depth exceeded");let d=n===void 0?t.len:t.pos+n,c=new u.hbb.Cliprdr;for(;t.pos>>3){case 1:{c.ready=u.hbb.CliprdrMonitorReady.decode(t,t.uint32(),void 0,f+1);break}case 2:{c.format_list=u.hbb.CliprdrServerFormatList.decode(t,t.uint32(),void 0,f+1);break}case 3:{c.format_list_response=u.hbb.CliprdrServerFormatListResponse.decode(t,t.uint32(),void 0,f+1);break}case 4:{c.format_data_request=u.hbb.CliprdrServerFormatDataRequest.decode(t,t.uint32(),void 0,f+1);break}case 5:{c.format_data_response=u.hbb.CliprdrServerFormatDataResponse.decode(t,t.uint32(),void 0,f+1);break}case 6:{c.file_contents_request=u.hbb.CliprdrFileContentsRequest.decode(t,t.uint32(),void 0,f+1);break}case 7:{c.file_contents_response=u.hbb.CliprdrFileContentsResponse.decode(t,t.uint32(),void 0,f+1);break}case 8:{c.try_empty=u.hbb.CliprdrTryEmpty.decode(t,t.uint32(),void 0,f+1);break}default:t.skipType(w&7,f);break}}return c},i.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},i.verify=function(t,n){if(typeof t!="object"||t===null)return"object expected";if(n===void 0&&(n=0),n>l.recursionLimit)return"maximum nesting depth exceeded";let r={};if(t.ready!=null&&t.hasOwnProperty("ready")){r.union=1;{let f=u.hbb.CliprdrMonitorReady.verify(t.ready,n+1);if(f)return"ready."+f}}if(t.format_list!=null&&t.hasOwnProperty("format_list")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.CliprdrServerFormatList.verify(t.format_list,n+1);if(f)return"format_list."+f}}if(t.format_list_response!=null&&t.hasOwnProperty("format_list_response")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.CliprdrServerFormatListResponse.verify(t.format_list_response,n+1);if(f)return"format_list_response."+f}}if(t.format_data_request!=null&&t.hasOwnProperty("format_data_request")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.CliprdrServerFormatDataRequest.verify(t.format_data_request,n+1);if(f)return"format_data_request."+f}}if(t.format_data_response!=null&&t.hasOwnProperty("format_data_response")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.CliprdrServerFormatDataResponse.verify(t.format_data_response,n+1);if(f)return"format_data_response."+f}}if(t.file_contents_request!=null&&t.hasOwnProperty("file_contents_request")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.CliprdrFileContentsRequest.verify(t.file_contents_request,n+1);if(f)return"file_contents_request."+f}}if(t.file_contents_response!=null&&t.hasOwnProperty("file_contents_response")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.CliprdrFileContentsResponse.verify(t.file_contents_response,n+1);if(f)return"file_contents_response."+f}}if(t.try_empty!=null&&t.hasOwnProperty("try_empty")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.CliprdrTryEmpty.verify(t.try_empty,n+1);if(f)return"try_empty."+f}}return null},i.fromObject=function(t,n){if(t instanceof u.hbb.Cliprdr)return t;if(n===void 0&&(n=0),n>l.recursionLimit)throw Error("maximum nesting depth exceeded");let r=new u.hbb.Cliprdr;if(t.ready!=null){if(typeof t.ready!="object")throw TypeError(".hbb.Cliprdr.ready: object expected");r.ready=u.hbb.CliprdrMonitorReady.fromObject(t.ready,n+1)}if(t.format_list!=null){if(typeof t.format_list!="object")throw TypeError(".hbb.Cliprdr.format_list: object expected");r.format_list=u.hbb.CliprdrServerFormatList.fromObject(t.format_list,n+1)}if(t.format_list_response!=null){if(typeof t.format_list_response!="object")throw TypeError(".hbb.Cliprdr.format_list_response: object expected");r.format_list_response=u.hbb.CliprdrServerFormatListResponse.fromObject(t.format_list_response,n+1)}if(t.format_data_request!=null){if(typeof t.format_data_request!="object")throw TypeError(".hbb.Cliprdr.format_data_request: object expected");r.format_data_request=u.hbb.CliprdrServerFormatDataRequest.fromObject(t.format_data_request,n+1)}if(t.format_data_response!=null){if(typeof t.format_data_response!="object")throw TypeError(".hbb.Cliprdr.format_data_response: object expected");r.format_data_response=u.hbb.CliprdrServerFormatDataResponse.fromObject(t.format_data_response,n+1)}if(t.file_contents_request!=null){if(typeof t.file_contents_request!="object")throw TypeError(".hbb.Cliprdr.file_contents_request: object expected");r.file_contents_request=u.hbb.CliprdrFileContentsRequest.fromObject(t.file_contents_request,n+1)}if(t.file_contents_response!=null){if(typeof t.file_contents_response!="object")throw TypeError(".hbb.Cliprdr.file_contents_response: object expected");r.file_contents_response=u.hbb.CliprdrFileContentsResponse.fromObject(t.file_contents_response,n+1)}if(t.try_empty!=null){if(typeof t.try_empty!="object")throw TypeError(".hbb.Cliprdr.try_empty: object expected");r.try_empty=u.hbb.CliprdrTryEmpty.fromObject(t.try_empty,n+1)}return r},i.toObject=function(t,n){n||(n={});let r={};return t.ready!=null&&t.hasOwnProperty("ready")&&(r.ready=u.hbb.CliprdrMonitorReady.toObject(t.ready,n),n.oneofs&&(r.union="ready")),t.format_list!=null&&t.hasOwnProperty("format_list")&&(r.format_list=u.hbb.CliprdrServerFormatList.toObject(t.format_list,n),n.oneofs&&(r.union="format_list")),t.format_list_response!=null&&t.hasOwnProperty("format_list_response")&&(r.format_list_response=u.hbb.CliprdrServerFormatListResponse.toObject(t.format_list_response,n),n.oneofs&&(r.union="format_list_response")),t.format_data_request!=null&&t.hasOwnProperty("format_data_request")&&(r.format_data_request=u.hbb.CliprdrServerFormatDataRequest.toObject(t.format_data_request,n),n.oneofs&&(r.union="format_data_request")),t.format_data_response!=null&&t.hasOwnProperty("format_data_response")&&(r.format_data_response=u.hbb.CliprdrServerFormatDataResponse.toObject(t.format_data_response,n),n.oneofs&&(r.union="format_data_response")),t.file_contents_request!=null&&t.hasOwnProperty("file_contents_request")&&(r.file_contents_request=u.hbb.CliprdrFileContentsRequest.toObject(t.file_contents_request,n),n.oneofs&&(r.union="file_contents_request")),t.file_contents_response!=null&&t.hasOwnProperty("file_contents_response")&&(r.file_contents_response=u.hbb.CliprdrFileContentsResponse.toObject(t.file_contents_response,n),n.oneofs&&(r.union="file_contents_response")),t.try_empty!=null&&t.hasOwnProperty("try_empty")&&(r.try_empty=u.hbb.CliprdrTryEmpty.toObject(t.try_empty,n),n.oneofs&&(r.union="try_empty")),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/hbb.Cliprdr"},i}(),p.Resolution=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.Resolution;for(;e.pos>>3){case 1:{d.width=e.int32();break}case 2:{d.height=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.width!=null&&e.hasOwnProperty("width")&&!l.isInteger(e.width)?"width: integer expected":e.height!=null&&e.hasOwnProperty("height")&&!l.isInteger(e.height)?"height: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.Resolution)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.Resolution;return e.width!=null&&(n.width=e.width|0),e.height!=null&&(n.height=e.height|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.width=0,n.height=0),e.width!=null&&e.hasOwnProperty("width")&&(n.width=e.width),e.height!=null&&e.hasOwnProperty("height")&&(n.height=e.height),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.Resolution"},i}(),p.DisplayResolution=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.DisplayResolution;for(;e.pos>>3){case 1:{d.display=e.int32();break}case 2:{d.resolution=u.hbb.Resolution.decode(e,e.uint32(),void 0,r+1);break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.display!=null&&e.hasOwnProperty("display")&&!l.isInteger(e.display))return"display: integer expected";if(e.resolution!=null&&e.hasOwnProperty("resolution")){let n=u.hbb.Resolution.verify(e.resolution,t+1);if(n)return"resolution."+n}return null},i.fromObject=function(e,t){if(e instanceof u.hbb.DisplayResolution)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.DisplayResolution;if(e.display!=null&&(n.display=e.display|0),e.resolution!=null){if(typeof e.resolution!="object")throw TypeError(".hbb.DisplayResolution.resolution: object expected");n.resolution=u.hbb.Resolution.fromObject(e.resolution,t+1)}return n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.display=0,n.resolution=null),e.display!=null&&e.hasOwnProperty("display")&&(n.display=e.display),e.resolution!=null&&e.hasOwnProperty("resolution")&&(n.resolution=u.hbb.Resolution.toObject(e.resolution,t)),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.DisplayResolution"},i}(),p.SupportedResolutions=function(){function i(o){if(this.resolutions=[],o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.SupportedResolutions;for(;e.pos>>3){case 1:{d.resolutions&&d.resolutions.length||(d.resolutions=[]),d.resolutions.push(u.hbb.Resolution.decode(e,e.uint32(),void 0,r+1));break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.resolutions!=null&&e.hasOwnProperty("resolutions")){if(!Array.isArray(e.resolutions))return"resolutions: array expected";for(let n=0;nl.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.SupportedResolutions;if(e.resolutions){if(!Array.isArray(e.resolutions))throw TypeError(".hbb.SupportedResolutions.resolutions: array expected");n.resolutions=[];for(let r=0;rs.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.SwitchDisplay;for(;e.pos>>3){case 1:{d.display=e.int32();break}case 2:{d.x=e.sint32();break}case 3:{d.y=e.sint32();break}case 4:{d.width=e.int32();break}case 5:{d.height=e.int32();break}case 6:{d.cursor_embedded=e.bool();break}case 7:{d.resolutions=u.hbb.SupportedResolutions.decode(e,e.uint32(),void 0,r+1);break}case 8:{d.original_resolution=u.hbb.Resolution.decode(e,e.uint32(),void 0,r+1);break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.display!=null&&e.hasOwnProperty("display")&&!l.isInteger(e.display))return"display: integer expected";if(e.x!=null&&e.hasOwnProperty("x")&&!l.isInteger(e.x))return"x: integer expected";if(e.y!=null&&e.hasOwnProperty("y")&&!l.isInteger(e.y))return"y: integer expected";if(e.width!=null&&e.hasOwnProperty("width")&&!l.isInteger(e.width))return"width: integer expected";if(e.height!=null&&e.hasOwnProperty("height")&&!l.isInteger(e.height))return"height: integer expected";if(e.cursor_embedded!=null&&e.hasOwnProperty("cursor_embedded")&&typeof e.cursor_embedded!="boolean")return"cursor_embedded: boolean expected";if(e.resolutions!=null&&e.hasOwnProperty("resolutions")){let n=u.hbb.SupportedResolutions.verify(e.resolutions,t+1);if(n)return"resolutions."+n}if(e.original_resolution!=null&&e.hasOwnProperty("original_resolution")){let n=u.hbb.Resolution.verify(e.original_resolution,t+1);if(n)return"original_resolution."+n}return null},i.fromObject=function(e,t){if(e instanceof u.hbb.SwitchDisplay)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.SwitchDisplay;if(e.display!=null&&(n.display=e.display|0),e.x!=null&&(n.x=e.x|0),e.y!=null&&(n.y=e.y|0),e.width!=null&&(n.width=e.width|0),e.height!=null&&(n.height=e.height|0),e.cursor_embedded!=null&&(n.cursor_embedded=!!e.cursor_embedded),e.resolutions!=null){if(typeof e.resolutions!="object")throw TypeError(".hbb.SwitchDisplay.resolutions: object expected");n.resolutions=u.hbb.SupportedResolutions.fromObject(e.resolutions,t+1)}if(e.original_resolution!=null){if(typeof e.original_resolution!="object")throw TypeError(".hbb.SwitchDisplay.original_resolution: object expected");n.original_resolution=u.hbb.Resolution.fromObject(e.original_resolution,t+1)}return n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.display=0,n.x=0,n.y=0,n.width=0,n.height=0,n.cursor_embedded=!1,n.resolutions=null,n.original_resolution=null),e.display!=null&&e.hasOwnProperty("display")&&(n.display=e.display),e.x!=null&&e.hasOwnProperty("x")&&(n.x=e.x),e.y!=null&&e.hasOwnProperty("y")&&(n.y=e.y),e.width!=null&&e.hasOwnProperty("width")&&(n.width=e.width),e.height!=null&&e.hasOwnProperty("height")&&(n.height=e.height),e.cursor_embedded!=null&&e.hasOwnProperty("cursor_embedded")&&(n.cursor_embedded=e.cursor_embedded),e.resolutions!=null&&e.hasOwnProperty("resolutions")&&(n.resolutions=u.hbb.SupportedResolutions.toObject(e.resolutions,t)),e.original_resolution!=null&&e.hasOwnProperty("original_resolution")&&(n.original_resolution=u.hbb.Resolution.toObject(e.original_resolution,t)),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.SwitchDisplay"},i}(),p.CaptureDisplays=function(){function i(o){if(this.add=[],this.sub=[],this.set=[],o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.CaptureDisplays;for(;e.pos>>3){case 1:{if(d.add&&d.add.length||(d.add=[]),(c&7)===2){let w=e.uint32()+e.pos;for(;e.posl.recursionLimit)return"maximum nesting depth exceeded";if(e.add!=null&&e.hasOwnProperty("add")){if(!Array.isArray(e.add))return"add: array expected";for(let n=0;nl.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.CaptureDisplays;if(e.add){if(!Array.isArray(e.add))throw TypeError(".hbb.CaptureDisplays.add: array expected");n.add=[];for(let r=0;rs.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.ToggleVirtualDisplay;for(;e.pos>>3){case 1:{d.display=e.int32();break}case 2:{d.on=e.bool();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.display!=null&&e.hasOwnProperty("display")&&!l.isInteger(e.display)?"display: integer expected":e.on!=null&&e.hasOwnProperty("on")&&typeof e.on!="boolean"?"on: boolean expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.ToggleVirtualDisplay)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.ToggleVirtualDisplay;return e.display!=null&&(n.display=e.display|0),e.on!=null&&(n.on=!!e.on),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.display=0,n.on=!1),e.display!=null&&e.hasOwnProperty("display")&&(n.display=e.display),e.on!=null&&e.hasOwnProperty("on")&&(n.on=e.on),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.ToggleVirtualDisplay"},i}(),p.TogglePrivacyMode=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.TogglePrivacyMode;for(;e.pos>>3){case 1:{d.impl_key=e.string();break}case 2:{d.on=e.bool();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.impl_key!=null&&e.hasOwnProperty("impl_key")&&!l.isString(e.impl_key)?"impl_key: string expected":e.on!=null&&e.hasOwnProperty("on")&&typeof e.on!="boolean"?"on: boolean expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.TogglePrivacyMode)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.TogglePrivacyMode;return e.impl_key!=null&&(n.impl_key=String(e.impl_key)),e.on!=null&&(n.on=!!e.on),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.impl_key="",n.on=!1),e.impl_key!=null&&e.hasOwnProperty("impl_key")&&(n.impl_key=e.impl_key),e.on!=null&&e.hasOwnProperty("on")&&(n.on=e.on),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.TogglePrivacyMode"},i}(),p.PermissionInfo=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.PermissionInfo;for(;e.pos>>3){case 1:{d.permission=e.int32();break}case 2:{d.enabled=e.bool();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.permission!=null&&e.hasOwnProperty("permission"))switch(e.permission){default:return"permission: enum value expected";case 0:case 2:case 3:case 4:case 5:case 6:case 7:case 8:break}return e.enabled!=null&&e.hasOwnProperty("enabled")&&typeof e.enabled!="boolean"?"enabled: boolean expected":null},i.fromObject=function(e,t){if(e instanceof u.hbb.PermissionInfo)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.PermissionInfo;switch(e.permission){default:if(typeof e.permission=="number"){n.permission=e.permission;break}break;case"Keyboard":case 0:n.permission=0;break;case"Clipboard":case 2:n.permission=2;break;case"Audio":case 3:n.permission=3;break;case"File":case 4:n.permission=4;break;case"Restart":case 5:n.permission=5;break;case"Recording":case 6:n.permission=6;break;case"BlockInput":case 7:n.permission=7;break;case"Camera":case 8:n.permission=8;break}return e.enabled!=null&&(n.enabled=!!e.enabled),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.permission=t.enums===String?"Keyboard":0,n.enabled=!1),e.permission!=null&&e.hasOwnProperty("permission")&&(n.permission=t.enums===String?u.hbb.PermissionInfo.Permission[e.permission]===void 0?e.permission:u.hbb.PermissionInfo.Permission[e.permission]:e.permission),e.enabled!=null&&e.hasOwnProperty("enabled")&&(n.enabled=e.enabled),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.PermissionInfo"},i.Permission=function(){let o={},e=Object.create(o);return e[o[0]="Keyboard"]=0,e[o[2]="Clipboard"]=2,e[o[3]="Audio"]=3,e[o[4]="File"]=4,e[o[5]="Restart"]=5,e[o[6]="Recording"]=6,e[o[7]="BlockInput"]=7,e[o[8]="Camera"]=8,e}(),i}(),p.ImageQuality=function(){let i={},o=Object.create(i);return o[i[0]="NotSet"]=0,o[i[2]="Low"]=2,o[i[3]="Balanced"]=3,o[i[4]="Best"]=4,o}(),p.SupportedDecoding=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.SupportedDecoding;for(;e.pos>>3){case 1:{d.ability_vp9=e.int32();break}case 2:{d.ability_h264=e.int32();break}case 3:{d.ability_h265=e.int32();break}case 4:{d.prefer=e.int32();break}case 5:{d.ability_vp8=e.int32();break}case 6:{d.ability_av1=e.int32();break}case 7:{d.i444=u.hbb.CodecAbility.decode(e,e.uint32(),void 0,r+1);break}case 8:{d.prefer_chroma=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.ability_vp9!=null&&e.hasOwnProperty("ability_vp9")&&!l.isInteger(e.ability_vp9))return"ability_vp9: integer expected";if(e.ability_h264!=null&&e.hasOwnProperty("ability_h264")&&!l.isInteger(e.ability_h264))return"ability_h264: integer expected";if(e.ability_h265!=null&&e.hasOwnProperty("ability_h265")&&!l.isInteger(e.ability_h265))return"ability_h265: integer expected";if(e.prefer!=null&&e.hasOwnProperty("prefer"))switch(e.prefer){default:return"prefer: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:break}if(e.ability_vp8!=null&&e.hasOwnProperty("ability_vp8")&&!l.isInteger(e.ability_vp8))return"ability_vp8: integer expected";if(e.ability_av1!=null&&e.hasOwnProperty("ability_av1")&&!l.isInteger(e.ability_av1))return"ability_av1: integer expected";if(e.i444!=null&&e.hasOwnProperty("i444")){let n=u.hbb.CodecAbility.verify(e.i444,t+1);if(n)return"i444."+n}if(e.prefer_chroma!=null&&e.hasOwnProperty("prefer_chroma"))switch(e.prefer_chroma){default:return"prefer_chroma: enum value expected";case 0:case 1:break}return null},i.fromObject=function(e,t){if(e instanceof u.hbb.SupportedDecoding)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.SupportedDecoding;switch(e.ability_vp9!=null&&(n.ability_vp9=e.ability_vp9|0),e.ability_h264!=null&&(n.ability_h264=e.ability_h264|0),e.ability_h265!=null&&(n.ability_h265=e.ability_h265|0),e.prefer){default:if(typeof e.prefer=="number"){n.prefer=e.prefer;break}break;case"Auto":case 0:n.prefer=0;break;case"VP9":case 1:n.prefer=1;break;case"H264":case 2:n.prefer=2;break;case"H265":case 3:n.prefer=3;break;case"VP8":case 4:n.prefer=4;break;case"AV1":case 5:n.prefer=5;break}if(e.ability_vp8!=null&&(n.ability_vp8=e.ability_vp8|0),e.ability_av1!=null&&(n.ability_av1=e.ability_av1|0),e.i444!=null){if(typeof e.i444!="object")throw TypeError(".hbb.SupportedDecoding.i444: object expected");n.i444=u.hbb.CodecAbility.fromObject(e.i444,t+1)}switch(e.prefer_chroma){default:if(typeof e.prefer_chroma=="number"){n.prefer_chroma=e.prefer_chroma;break}break;case"I420":case 0:n.prefer_chroma=0;break;case"I444":case 1:n.prefer_chroma=1;break}return n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.ability_vp9=0,n.ability_h264=0,n.ability_h265=0,n.prefer=t.enums===String?"Auto":0,n.ability_vp8=0,n.ability_av1=0,n.i444=null,n.prefer_chroma=t.enums===String?"I420":0),e.ability_vp9!=null&&e.hasOwnProperty("ability_vp9")&&(n.ability_vp9=e.ability_vp9),e.ability_h264!=null&&e.hasOwnProperty("ability_h264")&&(n.ability_h264=e.ability_h264),e.ability_h265!=null&&e.hasOwnProperty("ability_h265")&&(n.ability_h265=e.ability_h265),e.prefer!=null&&e.hasOwnProperty("prefer")&&(n.prefer=t.enums===String?u.hbb.SupportedDecoding.PreferCodec[e.prefer]===void 0?e.prefer:u.hbb.SupportedDecoding.PreferCodec[e.prefer]:e.prefer),e.ability_vp8!=null&&e.hasOwnProperty("ability_vp8")&&(n.ability_vp8=e.ability_vp8),e.ability_av1!=null&&e.hasOwnProperty("ability_av1")&&(n.ability_av1=e.ability_av1),e.i444!=null&&e.hasOwnProperty("i444")&&(n.i444=u.hbb.CodecAbility.toObject(e.i444,t)),e.prefer_chroma!=null&&e.hasOwnProperty("prefer_chroma")&&(n.prefer_chroma=t.enums===String?u.hbb.Chroma[e.prefer_chroma]===void 0?e.prefer_chroma:u.hbb.Chroma[e.prefer_chroma]:e.prefer_chroma),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.SupportedDecoding"},i.PreferCodec=function(){let o={},e=Object.create(o);return e[o[0]="Auto"]=0,e[o[1]="VP9"]=1,e[o[2]="H264"]=2,e[o[3]="H265"]=3,e[o[4]="VP8"]=4,e[o[5]="AV1"]=5,e}(),i}(),p.OptionMessage=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.OptionMessage;for(;e.pos>>3){case 1:{d.image_quality=e.int32();break}case 2:{d.lock_after_session_end=e.int32();break}case 3:{d.show_remote_cursor=e.int32();break}case 4:{d.privacy_mode=e.int32();break}case 5:{d.block_input=e.int32();break}case 6:{d.custom_image_quality=e.int32();break}case 7:{d.disable_audio=e.int32();break}case 8:{d.disable_clipboard=e.int32();break}case 9:{d.enable_file_transfer=e.int32();break}case 10:{d.supported_decoding=u.hbb.SupportedDecoding.decode(e,e.uint32(),void 0,r+1);break}case 11:{d.custom_fps=e.int32();break}case 12:{d.disable_keyboard=e.int32();break}case 15:{d.follow_remote_cursor=e.int32();break}case 16:{d.follow_remote_window=e.int32();break}case 17:{d.disable_camera=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.image_quality!=null&&e.hasOwnProperty("image_quality"))switch(e.image_quality){default:return"image_quality: enum value expected";case 0:case 2:case 3:case 4:break}if(e.lock_after_session_end!=null&&e.hasOwnProperty("lock_after_session_end"))switch(e.lock_after_session_end){default:return"lock_after_session_end: enum value expected";case 0:case 1:case 2:break}if(e.show_remote_cursor!=null&&e.hasOwnProperty("show_remote_cursor"))switch(e.show_remote_cursor){default:return"show_remote_cursor: enum value expected";case 0:case 1:case 2:break}if(e.privacy_mode!=null&&e.hasOwnProperty("privacy_mode"))switch(e.privacy_mode){default:return"privacy_mode: enum value expected";case 0:case 1:case 2:break}if(e.block_input!=null&&e.hasOwnProperty("block_input"))switch(e.block_input){default:return"block_input: enum value expected";case 0:case 1:case 2:break}if(e.custom_image_quality!=null&&e.hasOwnProperty("custom_image_quality")&&!l.isInteger(e.custom_image_quality))return"custom_image_quality: integer expected";if(e.disable_audio!=null&&e.hasOwnProperty("disable_audio"))switch(e.disable_audio){default:return"disable_audio: enum value expected";case 0:case 1:case 2:break}if(e.disable_clipboard!=null&&e.hasOwnProperty("disable_clipboard"))switch(e.disable_clipboard){default:return"disable_clipboard: enum value expected";case 0:case 1:case 2:break}if(e.enable_file_transfer!=null&&e.hasOwnProperty("enable_file_transfer"))switch(e.enable_file_transfer){default:return"enable_file_transfer: enum value expected";case 0:case 1:case 2:break}if(e.supported_decoding!=null&&e.hasOwnProperty("supported_decoding")){let n=u.hbb.SupportedDecoding.verify(e.supported_decoding,t+1);if(n)return"supported_decoding."+n}if(e.custom_fps!=null&&e.hasOwnProperty("custom_fps")&&!l.isInteger(e.custom_fps))return"custom_fps: integer expected";if(e.disable_keyboard!=null&&e.hasOwnProperty("disable_keyboard"))switch(e.disable_keyboard){default:return"disable_keyboard: enum value expected";case 0:case 1:case 2:break}if(e.follow_remote_cursor!=null&&e.hasOwnProperty("follow_remote_cursor"))switch(e.follow_remote_cursor){default:return"follow_remote_cursor: enum value expected";case 0:case 1:case 2:break}if(e.follow_remote_window!=null&&e.hasOwnProperty("follow_remote_window"))switch(e.follow_remote_window){default:return"follow_remote_window: enum value expected";case 0:case 1:case 2:break}if(e.disable_camera!=null&&e.hasOwnProperty("disable_camera"))switch(e.disable_camera){default:return"disable_camera: enum value expected";case 0:case 1:case 2:break}return null},i.fromObject=function(e,t){if(e instanceof u.hbb.OptionMessage)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.OptionMessage;switch(e.image_quality){default:if(typeof e.image_quality=="number"){n.image_quality=e.image_quality;break}break;case"NotSet":case 0:n.image_quality=0;break;case"Low":case 2:n.image_quality=2;break;case"Balanced":case 3:n.image_quality=3;break;case"Best":case 4:n.image_quality=4;break}switch(e.lock_after_session_end){default:if(typeof e.lock_after_session_end=="number"){n.lock_after_session_end=e.lock_after_session_end;break}break;case"NotSet":case 0:n.lock_after_session_end=0;break;case"No":case 1:n.lock_after_session_end=1;break;case"Yes":case 2:n.lock_after_session_end=2;break}switch(e.show_remote_cursor){default:if(typeof e.show_remote_cursor=="number"){n.show_remote_cursor=e.show_remote_cursor;break}break;case"NotSet":case 0:n.show_remote_cursor=0;break;case"No":case 1:n.show_remote_cursor=1;break;case"Yes":case 2:n.show_remote_cursor=2;break}switch(e.privacy_mode){default:if(typeof e.privacy_mode=="number"){n.privacy_mode=e.privacy_mode;break}break;case"NotSet":case 0:n.privacy_mode=0;break;case"No":case 1:n.privacy_mode=1;break;case"Yes":case 2:n.privacy_mode=2;break}switch(e.block_input){default:if(typeof e.block_input=="number"){n.block_input=e.block_input;break}break;case"NotSet":case 0:n.block_input=0;break;case"No":case 1:n.block_input=1;break;case"Yes":case 2:n.block_input=2;break}switch(e.custom_image_quality!=null&&(n.custom_image_quality=e.custom_image_quality|0),e.disable_audio){default:if(typeof e.disable_audio=="number"){n.disable_audio=e.disable_audio;break}break;case"NotSet":case 0:n.disable_audio=0;break;case"No":case 1:n.disable_audio=1;break;case"Yes":case 2:n.disable_audio=2;break}switch(e.disable_clipboard){default:if(typeof e.disable_clipboard=="number"){n.disable_clipboard=e.disable_clipboard;break}break;case"NotSet":case 0:n.disable_clipboard=0;break;case"No":case 1:n.disable_clipboard=1;break;case"Yes":case 2:n.disable_clipboard=2;break}switch(e.enable_file_transfer){default:if(typeof e.enable_file_transfer=="number"){n.enable_file_transfer=e.enable_file_transfer;break}break;case"NotSet":case 0:n.enable_file_transfer=0;break;case"No":case 1:n.enable_file_transfer=1;break;case"Yes":case 2:n.enable_file_transfer=2;break}if(e.supported_decoding!=null){if(typeof e.supported_decoding!="object")throw TypeError(".hbb.OptionMessage.supported_decoding: object expected");n.supported_decoding=u.hbb.SupportedDecoding.fromObject(e.supported_decoding,t+1)}switch(e.custom_fps!=null&&(n.custom_fps=e.custom_fps|0),e.disable_keyboard){default:if(typeof e.disable_keyboard=="number"){n.disable_keyboard=e.disable_keyboard;break}break;case"NotSet":case 0:n.disable_keyboard=0;break;case"No":case 1:n.disable_keyboard=1;break;case"Yes":case 2:n.disable_keyboard=2;break}switch(e.follow_remote_cursor){default:if(typeof e.follow_remote_cursor=="number"){n.follow_remote_cursor=e.follow_remote_cursor;break}break;case"NotSet":case 0:n.follow_remote_cursor=0;break;case"No":case 1:n.follow_remote_cursor=1;break;case"Yes":case 2:n.follow_remote_cursor=2;break}switch(e.follow_remote_window){default:if(typeof e.follow_remote_window=="number"){n.follow_remote_window=e.follow_remote_window;break}break;case"NotSet":case 0:n.follow_remote_window=0;break;case"No":case 1:n.follow_remote_window=1;break;case"Yes":case 2:n.follow_remote_window=2;break}switch(e.disable_camera){default:if(typeof e.disable_camera=="number"){n.disable_camera=e.disable_camera;break}break;case"NotSet":case 0:n.disable_camera=0;break;case"No":case 1:n.disable_camera=1;break;case"Yes":case 2:n.disable_camera=2;break}return n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.image_quality=t.enums===String?"NotSet":0,n.lock_after_session_end=t.enums===String?"NotSet":0,n.show_remote_cursor=t.enums===String?"NotSet":0,n.privacy_mode=t.enums===String?"NotSet":0,n.block_input=t.enums===String?"NotSet":0,n.custom_image_quality=0,n.disable_audio=t.enums===String?"NotSet":0,n.disable_clipboard=t.enums===String?"NotSet":0,n.enable_file_transfer=t.enums===String?"NotSet":0,n.supported_decoding=null,n.custom_fps=0,n.disable_keyboard=t.enums===String?"NotSet":0,n.follow_remote_cursor=t.enums===String?"NotSet":0,n.follow_remote_window=t.enums===String?"NotSet":0,n.disable_camera=t.enums===String?"NotSet":0),e.image_quality!=null&&e.hasOwnProperty("image_quality")&&(n.image_quality=t.enums===String?u.hbb.ImageQuality[e.image_quality]===void 0?e.image_quality:u.hbb.ImageQuality[e.image_quality]:e.image_quality),e.lock_after_session_end!=null&&e.hasOwnProperty("lock_after_session_end")&&(n.lock_after_session_end=t.enums===String?u.hbb.OptionMessage.BoolOption[e.lock_after_session_end]===void 0?e.lock_after_session_end:u.hbb.OptionMessage.BoolOption[e.lock_after_session_end]:e.lock_after_session_end),e.show_remote_cursor!=null&&e.hasOwnProperty("show_remote_cursor")&&(n.show_remote_cursor=t.enums===String?u.hbb.OptionMessage.BoolOption[e.show_remote_cursor]===void 0?e.show_remote_cursor:u.hbb.OptionMessage.BoolOption[e.show_remote_cursor]:e.show_remote_cursor),e.privacy_mode!=null&&e.hasOwnProperty("privacy_mode")&&(n.privacy_mode=t.enums===String?u.hbb.OptionMessage.BoolOption[e.privacy_mode]===void 0?e.privacy_mode:u.hbb.OptionMessage.BoolOption[e.privacy_mode]:e.privacy_mode),e.block_input!=null&&e.hasOwnProperty("block_input")&&(n.block_input=t.enums===String?u.hbb.OptionMessage.BoolOption[e.block_input]===void 0?e.block_input:u.hbb.OptionMessage.BoolOption[e.block_input]:e.block_input),e.custom_image_quality!=null&&e.hasOwnProperty("custom_image_quality")&&(n.custom_image_quality=e.custom_image_quality),e.disable_audio!=null&&e.hasOwnProperty("disable_audio")&&(n.disable_audio=t.enums===String?u.hbb.OptionMessage.BoolOption[e.disable_audio]===void 0?e.disable_audio:u.hbb.OptionMessage.BoolOption[e.disable_audio]:e.disable_audio),e.disable_clipboard!=null&&e.hasOwnProperty("disable_clipboard")&&(n.disable_clipboard=t.enums===String?u.hbb.OptionMessage.BoolOption[e.disable_clipboard]===void 0?e.disable_clipboard:u.hbb.OptionMessage.BoolOption[e.disable_clipboard]:e.disable_clipboard),e.enable_file_transfer!=null&&e.hasOwnProperty("enable_file_transfer")&&(n.enable_file_transfer=t.enums===String?u.hbb.OptionMessage.BoolOption[e.enable_file_transfer]===void 0?e.enable_file_transfer:u.hbb.OptionMessage.BoolOption[e.enable_file_transfer]:e.enable_file_transfer),e.supported_decoding!=null&&e.hasOwnProperty("supported_decoding")&&(n.supported_decoding=u.hbb.SupportedDecoding.toObject(e.supported_decoding,t)),e.custom_fps!=null&&e.hasOwnProperty("custom_fps")&&(n.custom_fps=e.custom_fps),e.disable_keyboard!=null&&e.hasOwnProperty("disable_keyboard")&&(n.disable_keyboard=t.enums===String?u.hbb.OptionMessage.BoolOption[e.disable_keyboard]===void 0?e.disable_keyboard:u.hbb.OptionMessage.BoolOption[e.disable_keyboard]:e.disable_keyboard),e.follow_remote_cursor!=null&&e.hasOwnProperty("follow_remote_cursor")&&(n.follow_remote_cursor=t.enums===String?u.hbb.OptionMessage.BoolOption[e.follow_remote_cursor]===void 0?e.follow_remote_cursor:u.hbb.OptionMessage.BoolOption[e.follow_remote_cursor]:e.follow_remote_cursor),e.follow_remote_window!=null&&e.hasOwnProperty("follow_remote_window")&&(n.follow_remote_window=t.enums===String?u.hbb.OptionMessage.BoolOption[e.follow_remote_window]===void 0?e.follow_remote_window:u.hbb.OptionMessage.BoolOption[e.follow_remote_window]:e.follow_remote_window),e.disable_camera!=null&&e.hasOwnProperty("disable_camera")&&(n.disable_camera=t.enums===String?u.hbb.OptionMessage.BoolOption[e.disable_camera]===void 0?e.disable_camera:u.hbb.OptionMessage.BoolOption[e.disable_camera]:e.disable_camera),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.OptionMessage"},i.BoolOption=function(){let o={},e=Object.create(o);return e[o[0]="NotSet"]=0,e[o[1]="No"]=1,e[o[2]="Yes"]=2,e}(),i}(),p.TestDelay=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.TestDelay;for(;e.pos>>3){case 1:{d.time=e.int64();break}case 2:{d.from_client=e.bool();break}case 3:{d.last_delay=e.uint32();break}case 4:{d.target_bitrate=e.uint32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.time!=null&&e.hasOwnProperty("time")&&!l.isInteger(e.time)&&!(e.time&&l.isInteger(e.time.low)&&l.isInteger(e.time.high))?"time: integer|Long expected":e.from_client!=null&&e.hasOwnProperty("from_client")&&typeof e.from_client!="boolean"?"from_client: boolean expected":e.last_delay!=null&&e.hasOwnProperty("last_delay")&&!l.isInteger(e.last_delay)?"last_delay: integer expected":e.target_bitrate!=null&&e.hasOwnProperty("target_bitrate")&&!l.isInteger(e.target_bitrate)?"target_bitrate: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.TestDelay)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.TestDelay;return e.time!=null&&(l.Long?(n.time=l.Long.fromValue(e.time)).unsigned=!1:typeof e.time=="string"?n.time=parseInt(e.time,10):typeof e.time=="number"?n.time=e.time:typeof e.time=="object"&&(n.time=new l.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber())),e.from_client!=null&&(n.from_client=!!e.from_client),e.last_delay!=null&&(n.last_delay=e.last_delay>>>0),e.target_bitrate!=null&&(n.target_bitrate=e.target_bitrate>>>0),n},i.toObject=function(e,t){t||(t={});let n={};if(t.defaults){if(l.Long){let r=new l.Long(0,0,!1);n.time=t.longs===String?r.toString():t.longs===Number?r.toNumber():r}else n.time=t.longs===String?"0":0;n.from_client=!1,n.last_delay=0,n.target_bitrate=0}return e.time!=null&&e.hasOwnProperty("time")&&(typeof e.time=="number"?n.time=t.longs===String?String(e.time):e.time:n.time=t.longs===String?l.Long.prototype.toString.call(e.time):t.longs===Number?new l.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber():e.time),e.from_client!=null&&e.hasOwnProperty("from_client")&&(n.from_client=e.from_client),e.last_delay!=null&&e.hasOwnProperty("last_delay")&&(n.last_delay=e.last_delay),e.target_bitrate!=null&&e.hasOwnProperty("target_bitrate")&&(n.target_bitrate=e.target_bitrate),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.TestDelay"},i}(),p.PublicKey=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.PublicKey;for(;e.pos>>3){case 1:{d.asymmetric_value=e.bytes();break}case 2:{d.symmetric_value=e.bytes();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.asymmetric_value!=null&&e.hasOwnProperty("asymmetric_value")&&!(e.asymmetric_value&&typeof e.asymmetric_value.length=="number"||l.isString(e.asymmetric_value))?"asymmetric_value: buffer expected":e.symmetric_value!=null&&e.hasOwnProperty("symmetric_value")&&!(e.symmetric_value&&typeof e.symmetric_value.length=="number"||l.isString(e.symmetric_value))?"symmetric_value: buffer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.PublicKey)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.PublicKey;return e.asymmetric_value!=null&&(typeof e.asymmetric_value=="string"?l.base64.decode(e.asymmetric_value,n.asymmetric_value=l.newBuffer(l.base64.length(e.asymmetric_value)),0):e.asymmetric_value.length>=0&&(n.asymmetric_value=e.asymmetric_value)),e.symmetric_value!=null&&(typeof e.symmetric_value=="string"?l.base64.decode(e.symmetric_value,n.symmetric_value=l.newBuffer(l.base64.length(e.symmetric_value)),0):e.symmetric_value.length>=0&&(n.symmetric_value=e.symmetric_value)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(t.bytes===String?n.asymmetric_value="":(n.asymmetric_value=[],t.bytes!==Array&&(n.asymmetric_value=l.newBuffer(n.asymmetric_value))),t.bytes===String?n.symmetric_value="":(n.symmetric_value=[],t.bytes!==Array&&(n.symmetric_value=l.newBuffer(n.symmetric_value)))),e.asymmetric_value!=null&&e.hasOwnProperty("asymmetric_value")&&(n.asymmetric_value=t.bytes===String?l.base64.encode(e.asymmetric_value,0,e.asymmetric_value.length):t.bytes===Array?Array.prototype.slice.call(e.asymmetric_value):e.asymmetric_value),e.symmetric_value!=null&&e.hasOwnProperty("symmetric_value")&&(n.symmetric_value=t.bytes===String?l.base64.encode(e.symmetric_value,0,e.symmetric_value.length):t.bytes===Array?Array.prototype.slice.call(e.symmetric_value):e.symmetric_value),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.PublicKey"},i}(),p.SignedId=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.SignedId;for(;e.pos>>3){case 1:{d.id=e.bytes();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!(e.id&&typeof e.id.length=="number"||l.isString(e.id))?"id: buffer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.SignedId)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.SignedId;return e.id!=null&&(typeof e.id=="string"?l.base64.decode(e.id,n.id=l.newBuffer(l.base64.length(e.id)),0):e.id.length>=0&&(n.id=e.id)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(t.bytes===String?n.id="":(n.id=[],t.bytes!==Array&&(n.id=l.newBuffer(n.id)))),e.id!=null&&e.hasOwnProperty("id")&&(n.id=t.bytes===String?l.base64.encode(e.id,0,e.id.length):t.bytes===Array?Array.prototype.slice.call(e.id):e.id),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.SignedId"},i}(),p.AudioFormat=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.AudioFormat;for(;e.pos>>3){case 1:{d.sample_rate=e.uint32();break}case 2:{d.channels=e.uint32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.sample_rate!=null&&e.hasOwnProperty("sample_rate")&&!l.isInteger(e.sample_rate)?"sample_rate: integer expected":e.channels!=null&&e.hasOwnProperty("channels")&&!l.isInteger(e.channels)?"channels: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.AudioFormat)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.AudioFormat;return e.sample_rate!=null&&(n.sample_rate=e.sample_rate>>>0),e.channels!=null&&(n.channels=e.channels>>>0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.sample_rate=0,n.channels=0),e.sample_rate!=null&&e.hasOwnProperty("sample_rate")&&(n.sample_rate=e.sample_rate),e.channels!=null&&e.hasOwnProperty("channels")&&(n.channels=e.channels),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.AudioFormat"},i}(),p.AudioFrame=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.AudioFrame;for(;e.pos>>3){case 1:{d.data=e.bytes();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.data!=null&&e.hasOwnProperty("data")&&!(e.data&&typeof e.data.length=="number"||l.isString(e.data))?"data: buffer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.AudioFrame)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.AudioFrame;return e.data!=null&&(typeof e.data=="string"?l.base64.decode(e.data,n.data=l.newBuffer(l.base64.length(e.data)),0):e.data.length>=0&&(n.data=e.data)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(t.bytes===String?n.data="":(n.data=[],t.bytes!==Array&&(n.data=l.newBuffer(n.data)))),e.data!=null&&e.hasOwnProperty("data")&&(n.data=t.bytes===String?l.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.AudioFrame"},i}(),p.MessageBox=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.MessageBox;for(;e.pos>>3){case 1:{d.msgtype=e.string();break}case 2:{d.title=e.string();break}case 3:{d.text=e.string();break}case 4:{d.link=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.msgtype!=null&&e.hasOwnProperty("msgtype")&&!l.isString(e.msgtype)?"msgtype: string expected":e.title!=null&&e.hasOwnProperty("title")&&!l.isString(e.title)?"title: string expected":e.text!=null&&e.hasOwnProperty("text")&&!l.isString(e.text)?"text: string expected":e.link!=null&&e.hasOwnProperty("link")&&!l.isString(e.link)?"link: string expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.MessageBox)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.MessageBox;return e.msgtype!=null&&(n.msgtype=String(e.msgtype)),e.title!=null&&(n.title=String(e.title)),e.text!=null&&(n.text=String(e.text)),e.link!=null&&(n.link=String(e.link)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.msgtype="",n.title="",n.text="",n.link=""),e.msgtype!=null&&e.hasOwnProperty("msgtype")&&(n.msgtype=e.msgtype),e.title!=null&&e.hasOwnProperty("title")&&(n.title=e.title),e.text!=null&&e.hasOwnProperty("text")&&(n.text=e.text),e.link!=null&&e.hasOwnProperty("link")&&(n.link=e.link),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.MessageBox"},i}(),p.BackNotification=function(){function i(e){if(e)for(let t=Object.keys(e),n=0;ns.recursionLimit)throw Error("maximum nesting depth exceeded");let d=n===void 0?t.len:t.pos+n,c=new u.hbb.BackNotification;for(;t.pos>>3){case 1:{c.privacy_mode_state=t.int32();break}case 2:{c.block_input_state=t.int32();break}case 3:{c.details=t.string();break}case 4:{c.impl_key=t.string();break}default:t.skipType(w&7,f);break}}return c},i.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},i.verify=function(t,n){if(typeof t!="object"||t===null)return"object expected";if(n===void 0&&(n=0),n>l.recursionLimit)return"maximum nesting depth exceeded";let r={};if(t.privacy_mode_state!=null&&t.hasOwnProperty("privacy_mode_state"))switch(r.union=1,t.privacy_mode_state){default:return"privacy_mode_state: enum value expected";case 0:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:break}if(t.block_input_state!=null&&t.hasOwnProperty("block_input_state")){if(r.union===1)return"union: multiple values";switch(r.union=1,t.block_input_state){default:return"block_input_state: enum value expected";case 0:case 2:case 3:case 4:case 5:break}}return t.details!=null&&t.hasOwnProperty("details")&&!l.isString(t.details)?"details: string expected":t.impl_key!=null&&t.hasOwnProperty("impl_key")&&!l.isString(t.impl_key)?"impl_key: string expected":null},i.fromObject=function(t,n){if(t instanceof u.hbb.BackNotification)return t;if(n===void 0&&(n=0),n>l.recursionLimit)throw Error("maximum nesting depth exceeded");let r=new u.hbb.BackNotification;switch(t.privacy_mode_state){default:if(typeof t.privacy_mode_state=="number"){r.privacy_mode_state=t.privacy_mode_state;break}break;case"PrvStateUnknown":case 0:r.privacy_mode_state=0;break;case"PrvOnByOther":case 2:r.privacy_mode_state=2;break;case"PrvNotSupported":case 3:r.privacy_mode_state=3;break;case"PrvOnSucceeded":case 4:r.privacy_mode_state=4;break;case"PrvOnFailedDenied":case 5:r.privacy_mode_state=5;break;case"PrvOnFailedPlugin":case 6:r.privacy_mode_state=6;break;case"PrvOnFailed":case 7:r.privacy_mode_state=7;break;case"PrvOffSucceeded":case 8:r.privacy_mode_state=8;break;case"PrvOffByPeer":case 9:r.privacy_mode_state=9;break;case"PrvOffFailed":case 10:r.privacy_mode_state=10;break;case"PrvOffUnknown":case 11:r.privacy_mode_state=11;break}switch(t.block_input_state){default:if(typeof t.block_input_state=="number"){r.block_input_state=t.block_input_state;break}break;case"BlkStateUnknown":case 0:r.block_input_state=0;break;case"BlkOnSucceeded":case 2:r.block_input_state=2;break;case"BlkOnFailed":case 3:r.block_input_state=3;break;case"BlkOffSucceeded":case 4:r.block_input_state=4;break;case"BlkOffFailed":case 5:r.block_input_state=5;break}return t.details!=null&&(r.details=String(t.details)),t.impl_key!=null&&(r.impl_key=String(t.impl_key)),r},i.toObject=function(t,n){n||(n={});let r={};return n.defaults&&(r.details="",r.impl_key=""),t.privacy_mode_state!=null&&t.hasOwnProperty("privacy_mode_state")&&(r.privacy_mode_state=n.enums===String?u.hbb.BackNotification.PrivacyModeState[t.privacy_mode_state]===void 0?t.privacy_mode_state:u.hbb.BackNotification.PrivacyModeState[t.privacy_mode_state]:t.privacy_mode_state,n.oneofs&&(r.union="privacy_mode_state")),t.block_input_state!=null&&t.hasOwnProperty("block_input_state")&&(r.block_input_state=n.enums===String?u.hbb.BackNotification.BlockInputState[t.block_input_state]===void 0?t.block_input_state:u.hbb.BackNotification.BlockInputState[t.block_input_state]:t.block_input_state,n.oneofs&&(r.union="block_input_state")),t.details!=null&&t.hasOwnProperty("details")&&(r.details=t.details),t.impl_key!=null&&t.hasOwnProperty("impl_key")&&(r.impl_key=t.impl_key),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/hbb.BackNotification"},i.BlockInputState=function(){let e={},t=Object.create(e);return t[e[0]="BlkStateUnknown"]=0,t[e[2]="BlkOnSucceeded"]=2,t[e[3]="BlkOnFailed"]=3,t[e[4]="BlkOffSucceeded"]=4,t[e[5]="BlkOffFailed"]=5,t}(),i.PrivacyModeState=function(){let e={},t=Object.create(e);return t[e[0]="PrvStateUnknown"]=0,t[e[2]="PrvOnByOther"]=2,t[e[3]="PrvNotSupported"]=3,t[e[4]="PrvOnSucceeded"]=4,t[e[5]="PrvOnFailedDenied"]=5,t[e[6]="PrvOnFailedPlugin"]=6,t[e[7]="PrvOnFailed"]=7,t[e[8]="PrvOffSucceeded"]=8,t[e[9]="PrvOffByPeer"]=9,t[e[10]="PrvOffFailed"]=10,t[e[11]="PrvOffUnknown"]=11,t}(),i}(),p.ElevationRequestWithLogon=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.ElevationRequestWithLogon;for(;e.pos>>3){case 1:{d.username=e.string();break}case 2:{d.password=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.username!=null&&e.hasOwnProperty("username")&&!l.isString(e.username)?"username: string expected":e.password!=null&&e.hasOwnProperty("password")&&!l.isString(e.password)?"password: string expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.ElevationRequestWithLogon)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.ElevationRequestWithLogon;return e.username!=null&&(n.username=String(e.username)),e.password!=null&&(n.password=String(e.password)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.username="",n.password=""),e.username!=null&&e.hasOwnProperty("username")&&(n.username=e.username),e.password!=null&&e.hasOwnProperty("password")&&(n.password=e.password),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.ElevationRequestWithLogon"},i}(),p.ElevationRequest=function(){function i(e){if(e)for(let t=Object.keys(e),n=0;ns.recursionLimit)throw Error("maximum nesting depth exceeded");let d=n===void 0?t.len:t.pos+n,c=new u.hbb.ElevationRequest;for(;t.pos>>3){case 1:{c.direct=t.bool();break}case 2:{c.logon=u.hbb.ElevationRequestWithLogon.decode(t,t.uint32(),void 0,f+1);break}default:t.skipType(w&7,f);break}}return c},i.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},i.verify=function(t,n){if(typeof t!="object"||t===null)return"object expected";if(n===void 0&&(n=0),n>l.recursionLimit)return"maximum nesting depth exceeded";let r={};if(t.direct!=null&&t.hasOwnProperty("direct")&&(r.union=1,typeof t.direct!="boolean"))return"direct: boolean expected";if(t.logon!=null&&t.hasOwnProperty("logon")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.ElevationRequestWithLogon.verify(t.logon,n+1);if(f)return"logon."+f}}return null},i.fromObject=function(t,n){if(t instanceof u.hbb.ElevationRequest)return t;if(n===void 0&&(n=0),n>l.recursionLimit)throw Error("maximum nesting depth exceeded");let r=new u.hbb.ElevationRequest;if(t.direct!=null&&(r.direct=!!t.direct),t.logon!=null){if(typeof t.logon!="object")throw TypeError(".hbb.ElevationRequest.logon: object expected");r.logon=u.hbb.ElevationRequestWithLogon.fromObject(t.logon,n+1)}return r},i.toObject=function(t,n){n||(n={});let r={};return t.direct!=null&&t.hasOwnProperty("direct")&&(r.direct=t.direct,n.oneofs&&(r.union="direct")),t.logon!=null&&t.hasOwnProperty("logon")&&(r.logon=u.hbb.ElevationRequestWithLogon.toObject(t.logon,n),n.oneofs&&(r.union="logon")),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/hbb.ElevationRequest"},i}(),p.SwitchSidesRequest=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.SwitchSidesRequest;for(;e.pos>>3){case 1:{d.uuid=e.bytes();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.uuid!=null&&e.hasOwnProperty("uuid")&&!(e.uuid&&typeof e.uuid.length=="number"||l.isString(e.uuid))?"uuid: buffer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.SwitchSidesRequest)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.SwitchSidesRequest;return e.uuid!=null&&(typeof e.uuid=="string"?l.base64.decode(e.uuid,n.uuid=l.newBuffer(l.base64.length(e.uuid)),0):e.uuid.length>=0&&(n.uuid=e.uuid)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(t.bytes===String?n.uuid="":(n.uuid=[],t.bytes!==Array&&(n.uuid=l.newBuffer(n.uuid)))),e.uuid!=null&&e.hasOwnProperty("uuid")&&(n.uuid=t.bytes===String?l.base64.encode(e.uuid,0,e.uuid.length):t.bytes===Array?Array.prototype.slice.call(e.uuid):e.uuid),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.SwitchSidesRequest"},i}(),p.SwitchSidesResponse=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.SwitchSidesResponse;for(;e.pos>>3){case 1:{d.uuid=e.bytes();break}case 2:{d.lr=u.hbb.LoginRequest.decode(e,e.uint32(),void 0,r+1);break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.uuid!=null&&e.hasOwnProperty("uuid")&&!(e.uuid&&typeof e.uuid.length=="number"||l.isString(e.uuid)))return"uuid: buffer expected";if(e.lr!=null&&e.hasOwnProperty("lr")){let n=u.hbb.LoginRequest.verify(e.lr,t+1);if(n)return"lr."+n}return null},i.fromObject=function(e,t){if(e instanceof u.hbb.SwitchSidesResponse)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.SwitchSidesResponse;if(e.uuid!=null&&(typeof e.uuid=="string"?l.base64.decode(e.uuid,n.uuid=l.newBuffer(l.base64.length(e.uuid)),0):e.uuid.length>=0&&(n.uuid=e.uuid)),e.lr!=null){if(typeof e.lr!="object")throw TypeError(".hbb.SwitchSidesResponse.lr: object expected");n.lr=u.hbb.LoginRequest.fromObject(e.lr,t+1)}return n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(t.bytes===String?n.uuid="":(n.uuid=[],t.bytes!==Array&&(n.uuid=l.newBuffer(n.uuid))),n.lr=null),e.uuid!=null&&e.hasOwnProperty("uuid")&&(n.uuid=t.bytes===String?l.base64.encode(e.uuid,0,e.uuid.length):t.bytes===Array?Array.prototype.slice.call(e.uuid):e.uuid),e.lr!=null&&e.hasOwnProperty("lr")&&(n.lr=u.hbb.LoginRequest.toObject(e.lr,t)),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.SwitchSidesResponse"},i}(),p.SwitchBack=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.SwitchBack;for(;e.pos>>3){default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.SwitchBack)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");return new u.hbb.SwitchBack},i.toObject=function(){return{}},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.SwitchBack"},i}(),p.PluginRequest=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.PluginRequest;for(;e.pos>>3){case 1:{d.id=e.string();break}case 2:{d.content=e.bytes();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!l.isString(e.id)?"id: string expected":e.content!=null&&e.hasOwnProperty("content")&&!(e.content&&typeof e.content.length=="number"||l.isString(e.content))?"content: buffer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.PluginRequest)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.PluginRequest;return e.id!=null&&(n.id=String(e.id)),e.content!=null&&(typeof e.content=="string"?l.base64.decode(e.content,n.content=l.newBuffer(l.base64.length(e.content)),0):e.content.length>=0&&(n.content=e.content)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id="",t.bytes===String?n.content="":(n.content=[],t.bytes!==Array&&(n.content=l.newBuffer(n.content)))),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.content!=null&&e.hasOwnProperty("content")&&(n.content=t.bytes===String?l.base64.encode(e.content,0,e.content.length):t.bytes===Array?Array.prototype.slice.call(e.content):e.content),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.PluginRequest"},i}(),p.PluginFailure=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.PluginFailure;for(;e.pos>>3){case 1:{d.id=e.string();break}case 2:{d.name=e.string();break}case 3:{d.msg=e.string();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.id!=null&&e.hasOwnProperty("id")&&!l.isString(e.id)?"id: string expected":e.name!=null&&e.hasOwnProperty("name")&&!l.isString(e.name)?"name: string expected":e.msg!=null&&e.hasOwnProperty("msg")&&!l.isString(e.msg)?"msg: string expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.PluginFailure)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.PluginFailure;return e.id!=null&&(n.id=String(e.id)),e.name!=null&&(n.name=String(e.name)),e.msg!=null&&(n.msg=String(e.msg)),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id="",n.name="",n.msg=""),e.id!=null&&e.hasOwnProperty("id")&&(n.id=e.id),e.name!=null&&e.hasOwnProperty("name")&&(n.name=e.name),e.msg!=null&&e.hasOwnProperty("msg")&&(n.msg=e.msg),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.PluginFailure"},i}(),p.WindowsSessions=function(){function i(o){if(this.sessions=[],o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.WindowsSessions;for(;e.pos>>3){case 1:{d.sessions&&d.sessions.length||(d.sessions=[]),d.sessions.push(u.hbb.WindowsSession.decode(e,e.uint32(),void 0,r+1));break}case 2:{d.current_sid=e.uint32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){if(typeof e!="object"||e===null)return"object expected";if(t===void 0&&(t=0),t>l.recursionLimit)return"maximum nesting depth exceeded";if(e.sessions!=null&&e.hasOwnProperty("sessions")){if(!Array.isArray(e.sessions))return"sessions: array expected";for(let n=0;nl.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.WindowsSessions;if(e.sessions){if(!Array.isArray(e.sessions))throw TypeError(".hbb.WindowsSessions.sessions: array expected");n.sessions=[];for(let r=0;r>>0),n},i.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.sessions=[]),t.defaults&&(n.current_sid=0),e.sessions&&e.sessions.length){n.sessions=[];for(let r=0;rs.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.MessageQuery;for(;e.pos>>3){case 1:{d.switch_display=e.int32();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.switch_display!=null&&e.hasOwnProperty("switch_display")&&!l.isInteger(e.switch_display)?"switch_display: integer expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.MessageQuery)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.MessageQuery;return e.switch_display!=null&&(n.switch_display=e.switch_display|0),n},i.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.switch_display=0),e.switch_display!=null&&e.hasOwnProperty("switch_display")&&(n.switch_display=e.switch_display),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.MessageQuery"},i}(),p.Misc=function(){function i(e){if(e)for(let t=Object.keys(e),n=0;ns.recursionLimit)throw Error("maximum nesting depth exceeded");let d=n===void 0?t.len:t.pos+n,c=new u.hbb.Misc;for(;t.pos>>3){case 4:{c.chat_message=u.hbb.ChatMessage.decode(t,t.uint32(),void 0,f+1);break}case 5:{c.switch_display=u.hbb.SwitchDisplay.decode(t,t.uint32(),void 0,f+1);break}case 6:{c.permission_info=u.hbb.PermissionInfo.decode(t,t.uint32(),void 0,f+1);break}case 7:{c.option=u.hbb.OptionMessage.decode(t,t.uint32(),void 0,f+1);break}case 8:{c.audio_format=u.hbb.AudioFormat.decode(t,t.uint32(),void 0,f+1);break}case 9:{c.close_reason=t.string();break}case 10:{c.refresh_video=t.bool();break}case 12:{c.video_received=t.bool();break}case 13:{c.back_notification=u.hbb.BackNotification.decode(t,t.uint32(),void 0,f+1);break}case 14:{c.restart_remote_device=t.bool();break}case 15:{c.uac=t.bool();break}case 16:{c.foreground_window_elevated=t.bool();break}case 17:{c.stop_service=t.bool();break}case 18:{c.elevation_request=u.hbb.ElevationRequest.decode(t,t.uint32(),void 0,f+1);break}case 19:{c.elevation_response=t.string();break}case 20:{c.portable_service_running=t.bool();break}case 21:{c.switch_sides_request=u.hbb.SwitchSidesRequest.decode(t,t.uint32(),void 0,f+1);break}case 22:{c.switch_back=u.hbb.SwitchBack.decode(t,t.uint32(),void 0,f+1);break}case 24:{c.change_resolution=u.hbb.Resolution.decode(t,t.uint32(),void 0,f+1);break}case 25:{c.plugin_request=u.hbb.PluginRequest.decode(t,t.uint32(),void 0,f+1);break}case 26:{c.plugin_failure=u.hbb.PluginFailure.decode(t,t.uint32(),void 0,f+1);break}case 27:{c.full_speed_fps=t.uint32();break}case 28:{c.auto_adjust_fps=t.uint32();break}case 29:{c.client_record_status=t.bool();break}case 30:{c.capture_displays=u.hbb.CaptureDisplays.decode(t,t.uint32(),void 0,f+1);break}case 31:{c.refresh_video_display=t.int32();break}case 32:{c.toggle_virtual_display=u.hbb.ToggleVirtualDisplay.decode(t,t.uint32(),void 0,f+1);break}case 33:{c.toggle_privacy_mode=u.hbb.TogglePrivacyMode.decode(t,t.uint32(),void 0,f+1);break}case 34:{c.supported_encoding=u.hbb.SupportedEncoding.decode(t,t.uint32(),void 0,f+1);break}case 35:{c.selected_sid=t.uint32();break}case 36:{c.change_display_resolution=u.hbb.DisplayResolution.decode(t,t.uint32(),void 0,f+1);break}case 37:{c.message_query=u.hbb.MessageQuery.decode(t,t.uint32(),void 0,f+1);break}case 38:{c.follow_current_display=t.int32();break}default:t.skipType(w&7,f);break}}return c},i.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},i.verify=function(t,n){if(typeof t!="object"||t===null)return"object expected";if(n===void 0&&(n=0),n>l.recursionLimit)return"maximum nesting depth exceeded";let r={};if(t.chat_message!=null&&t.hasOwnProperty("chat_message")){r.union=1;{let f=u.hbb.ChatMessage.verify(t.chat_message,n+1);if(f)return"chat_message."+f}}if(t.switch_display!=null&&t.hasOwnProperty("switch_display")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.SwitchDisplay.verify(t.switch_display,n+1);if(f)return"switch_display."+f}}if(t.permission_info!=null&&t.hasOwnProperty("permission_info")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.PermissionInfo.verify(t.permission_info,n+1);if(f)return"permission_info."+f}}if(t.option!=null&&t.hasOwnProperty("option")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.OptionMessage.verify(t.option,n+1);if(f)return"option."+f}}if(t.audio_format!=null&&t.hasOwnProperty("audio_format")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.AudioFormat.verify(t.audio_format,n+1);if(f)return"audio_format."+f}}if(t.close_reason!=null&&t.hasOwnProperty("close_reason")){if(r.union===1)return"union: multiple values";if(r.union=1,!l.isString(t.close_reason))return"close_reason: string expected"}if(t.refresh_video!=null&&t.hasOwnProperty("refresh_video")){if(r.union===1)return"union: multiple values";if(r.union=1,typeof t.refresh_video!="boolean")return"refresh_video: boolean expected"}if(t.video_received!=null&&t.hasOwnProperty("video_received")){if(r.union===1)return"union: multiple values";if(r.union=1,typeof t.video_received!="boolean")return"video_received: boolean expected"}if(t.back_notification!=null&&t.hasOwnProperty("back_notification")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.BackNotification.verify(t.back_notification,n+1);if(f)return"back_notification."+f}}if(t.restart_remote_device!=null&&t.hasOwnProperty("restart_remote_device")){if(r.union===1)return"union: multiple values";if(r.union=1,typeof t.restart_remote_device!="boolean")return"restart_remote_device: boolean expected"}if(t.uac!=null&&t.hasOwnProperty("uac")){if(r.union===1)return"union: multiple values";if(r.union=1,typeof t.uac!="boolean")return"uac: boolean expected"}if(t.foreground_window_elevated!=null&&t.hasOwnProperty("foreground_window_elevated")){if(r.union===1)return"union: multiple values";if(r.union=1,typeof t.foreground_window_elevated!="boolean")return"foreground_window_elevated: boolean expected"}if(t.stop_service!=null&&t.hasOwnProperty("stop_service")){if(r.union===1)return"union: multiple values";if(r.union=1,typeof t.stop_service!="boolean")return"stop_service: boolean expected"}if(t.elevation_request!=null&&t.hasOwnProperty("elevation_request")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.ElevationRequest.verify(t.elevation_request,n+1);if(f)return"elevation_request."+f}}if(t.elevation_response!=null&&t.hasOwnProperty("elevation_response")){if(r.union===1)return"union: multiple values";if(r.union=1,!l.isString(t.elevation_response))return"elevation_response: string expected"}if(t.portable_service_running!=null&&t.hasOwnProperty("portable_service_running")){if(r.union===1)return"union: multiple values";if(r.union=1,typeof t.portable_service_running!="boolean")return"portable_service_running: boolean expected"}if(t.switch_sides_request!=null&&t.hasOwnProperty("switch_sides_request")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.SwitchSidesRequest.verify(t.switch_sides_request,n+1);if(f)return"switch_sides_request."+f}}if(t.switch_back!=null&&t.hasOwnProperty("switch_back")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.SwitchBack.verify(t.switch_back,n+1);if(f)return"switch_back."+f}}if(t.change_resolution!=null&&t.hasOwnProperty("change_resolution")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.Resolution.verify(t.change_resolution,n+1);if(f)return"change_resolution."+f}}if(t.plugin_request!=null&&t.hasOwnProperty("plugin_request")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.PluginRequest.verify(t.plugin_request,n+1);if(f)return"plugin_request."+f}}if(t.plugin_failure!=null&&t.hasOwnProperty("plugin_failure")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.PluginFailure.verify(t.plugin_failure,n+1);if(f)return"plugin_failure."+f}}if(t.full_speed_fps!=null&&t.hasOwnProperty("full_speed_fps")){if(r.union===1)return"union: multiple values";if(r.union=1,!l.isInteger(t.full_speed_fps))return"full_speed_fps: integer expected"}if(t.auto_adjust_fps!=null&&t.hasOwnProperty("auto_adjust_fps")){if(r.union===1)return"union: multiple values";if(r.union=1,!l.isInteger(t.auto_adjust_fps))return"auto_adjust_fps: integer expected"}if(t.client_record_status!=null&&t.hasOwnProperty("client_record_status")){if(r.union===1)return"union: multiple values";if(r.union=1,typeof t.client_record_status!="boolean")return"client_record_status: boolean expected"}if(t.capture_displays!=null&&t.hasOwnProperty("capture_displays")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.CaptureDisplays.verify(t.capture_displays,n+1);if(f)return"capture_displays."+f}}if(t.refresh_video_display!=null&&t.hasOwnProperty("refresh_video_display")){if(r.union===1)return"union: multiple values";if(r.union=1,!l.isInteger(t.refresh_video_display))return"refresh_video_display: integer expected"}if(t.toggle_virtual_display!=null&&t.hasOwnProperty("toggle_virtual_display")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.ToggleVirtualDisplay.verify(t.toggle_virtual_display,n+1);if(f)return"toggle_virtual_display."+f}}if(t.toggle_privacy_mode!=null&&t.hasOwnProperty("toggle_privacy_mode")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.TogglePrivacyMode.verify(t.toggle_privacy_mode,n+1);if(f)return"toggle_privacy_mode."+f}}if(t.supported_encoding!=null&&t.hasOwnProperty("supported_encoding")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.SupportedEncoding.verify(t.supported_encoding,n+1);if(f)return"supported_encoding."+f}}if(t.selected_sid!=null&&t.hasOwnProperty("selected_sid")){if(r.union===1)return"union: multiple values";if(r.union=1,!l.isInteger(t.selected_sid))return"selected_sid: integer expected"}if(t.change_display_resolution!=null&&t.hasOwnProperty("change_display_resolution")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.DisplayResolution.verify(t.change_display_resolution,n+1);if(f)return"change_display_resolution."+f}}if(t.message_query!=null&&t.hasOwnProperty("message_query")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.MessageQuery.verify(t.message_query,n+1);if(f)return"message_query."+f}}if(t.follow_current_display!=null&&t.hasOwnProperty("follow_current_display")){if(r.union===1)return"union: multiple values";if(r.union=1,!l.isInteger(t.follow_current_display))return"follow_current_display: integer expected"}return null},i.fromObject=function(t,n){if(t instanceof u.hbb.Misc)return t;if(n===void 0&&(n=0),n>l.recursionLimit)throw Error("maximum nesting depth exceeded");let r=new u.hbb.Misc;if(t.chat_message!=null){if(typeof t.chat_message!="object")throw TypeError(".hbb.Misc.chat_message: object expected");r.chat_message=u.hbb.ChatMessage.fromObject(t.chat_message,n+1)}if(t.switch_display!=null){if(typeof t.switch_display!="object")throw TypeError(".hbb.Misc.switch_display: object expected");r.switch_display=u.hbb.SwitchDisplay.fromObject(t.switch_display,n+1)}if(t.permission_info!=null){if(typeof t.permission_info!="object")throw TypeError(".hbb.Misc.permission_info: object expected");r.permission_info=u.hbb.PermissionInfo.fromObject(t.permission_info,n+1)}if(t.option!=null){if(typeof t.option!="object")throw TypeError(".hbb.Misc.option: object expected");r.option=u.hbb.OptionMessage.fromObject(t.option,n+1)}if(t.audio_format!=null){if(typeof t.audio_format!="object")throw TypeError(".hbb.Misc.audio_format: object expected");r.audio_format=u.hbb.AudioFormat.fromObject(t.audio_format,n+1)}if(t.close_reason!=null&&(r.close_reason=String(t.close_reason)),t.refresh_video!=null&&(r.refresh_video=!!t.refresh_video),t.video_received!=null&&(r.video_received=!!t.video_received),t.back_notification!=null){if(typeof t.back_notification!="object")throw TypeError(".hbb.Misc.back_notification: object expected");r.back_notification=u.hbb.BackNotification.fromObject(t.back_notification,n+1)}if(t.restart_remote_device!=null&&(r.restart_remote_device=!!t.restart_remote_device),t.uac!=null&&(r.uac=!!t.uac),t.foreground_window_elevated!=null&&(r.foreground_window_elevated=!!t.foreground_window_elevated),t.stop_service!=null&&(r.stop_service=!!t.stop_service),t.elevation_request!=null){if(typeof t.elevation_request!="object")throw TypeError(".hbb.Misc.elevation_request: object expected");r.elevation_request=u.hbb.ElevationRequest.fromObject(t.elevation_request,n+1)}if(t.elevation_response!=null&&(r.elevation_response=String(t.elevation_response)),t.portable_service_running!=null&&(r.portable_service_running=!!t.portable_service_running),t.switch_sides_request!=null){if(typeof t.switch_sides_request!="object")throw TypeError(".hbb.Misc.switch_sides_request: object expected");r.switch_sides_request=u.hbb.SwitchSidesRequest.fromObject(t.switch_sides_request,n+1)}if(t.switch_back!=null){if(typeof t.switch_back!="object")throw TypeError(".hbb.Misc.switch_back: object expected");r.switch_back=u.hbb.SwitchBack.fromObject(t.switch_back,n+1)}if(t.change_resolution!=null){if(typeof t.change_resolution!="object")throw TypeError(".hbb.Misc.change_resolution: object expected");r.change_resolution=u.hbb.Resolution.fromObject(t.change_resolution,n+1)}if(t.plugin_request!=null){if(typeof t.plugin_request!="object")throw TypeError(".hbb.Misc.plugin_request: object expected");r.plugin_request=u.hbb.PluginRequest.fromObject(t.plugin_request,n+1)}if(t.plugin_failure!=null){if(typeof t.plugin_failure!="object")throw TypeError(".hbb.Misc.plugin_failure: object expected");r.plugin_failure=u.hbb.PluginFailure.fromObject(t.plugin_failure,n+1)}if(t.full_speed_fps!=null&&(r.full_speed_fps=t.full_speed_fps>>>0),t.auto_adjust_fps!=null&&(r.auto_adjust_fps=t.auto_adjust_fps>>>0),t.client_record_status!=null&&(r.client_record_status=!!t.client_record_status),t.capture_displays!=null){if(typeof t.capture_displays!="object")throw TypeError(".hbb.Misc.capture_displays: object expected");r.capture_displays=u.hbb.CaptureDisplays.fromObject(t.capture_displays,n+1)}if(t.refresh_video_display!=null&&(r.refresh_video_display=t.refresh_video_display|0),t.toggle_virtual_display!=null){if(typeof t.toggle_virtual_display!="object")throw TypeError(".hbb.Misc.toggle_virtual_display: object expected");r.toggle_virtual_display=u.hbb.ToggleVirtualDisplay.fromObject(t.toggle_virtual_display,n+1)}if(t.toggle_privacy_mode!=null){if(typeof t.toggle_privacy_mode!="object")throw TypeError(".hbb.Misc.toggle_privacy_mode: object expected");r.toggle_privacy_mode=u.hbb.TogglePrivacyMode.fromObject(t.toggle_privacy_mode,n+1)}if(t.supported_encoding!=null){if(typeof t.supported_encoding!="object")throw TypeError(".hbb.Misc.supported_encoding: object expected");r.supported_encoding=u.hbb.SupportedEncoding.fromObject(t.supported_encoding,n+1)}if(t.selected_sid!=null&&(r.selected_sid=t.selected_sid>>>0),t.change_display_resolution!=null){if(typeof t.change_display_resolution!="object")throw TypeError(".hbb.Misc.change_display_resolution: object expected");r.change_display_resolution=u.hbb.DisplayResolution.fromObject(t.change_display_resolution,n+1)}if(t.message_query!=null){if(typeof t.message_query!="object")throw TypeError(".hbb.Misc.message_query: object expected");r.message_query=u.hbb.MessageQuery.fromObject(t.message_query,n+1)}return t.follow_current_display!=null&&(r.follow_current_display=t.follow_current_display|0),r},i.toObject=function(t,n){n||(n={});let r={};return t.chat_message!=null&&t.hasOwnProperty("chat_message")&&(r.chat_message=u.hbb.ChatMessage.toObject(t.chat_message,n),n.oneofs&&(r.union="chat_message")),t.switch_display!=null&&t.hasOwnProperty("switch_display")&&(r.switch_display=u.hbb.SwitchDisplay.toObject(t.switch_display,n),n.oneofs&&(r.union="switch_display")),t.permission_info!=null&&t.hasOwnProperty("permission_info")&&(r.permission_info=u.hbb.PermissionInfo.toObject(t.permission_info,n),n.oneofs&&(r.union="permission_info")),t.option!=null&&t.hasOwnProperty("option")&&(r.option=u.hbb.OptionMessage.toObject(t.option,n),n.oneofs&&(r.union="option")),t.audio_format!=null&&t.hasOwnProperty("audio_format")&&(r.audio_format=u.hbb.AudioFormat.toObject(t.audio_format,n),n.oneofs&&(r.union="audio_format")),t.close_reason!=null&&t.hasOwnProperty("close_reason")&&(r.close_reason=t.close_reason,n.oneofs&&(r.union="close_reason")),t.refresh_video!=null&&t.hasOwnProperty("refresh_video")&&(r.refresh_video=t.refresh_video,n.oneofs&&(r.union="refresh_video")),t.video_received!=null&&t.hasOwnProperty("video_received")&&(r.video_received=t.video_received,n.oneofs&&(r.union="video_received")),t.back_notification!=null&&t.hasOwnProperty("back_notification")&&(r.back_notification=u.hbb.BackNotification.toObject(t.back_notification,n),n.oneofs&&(r.union="back_notification")),t.restart_remote_device!=null&&t.hasOwnProperty("restart_remote_device")&&(r.restart_remote_device=t.restart_remote_device,n.oneofs&&(r.union="restart_remote_device")),t.uac!=null&&t.hasOwnProperty("uac")&&(r.uac=t.uac,n.oneofs&&(r.union="uac")),t.foreground_window_elevated!=null&&t.hasOwnProperty("foreground_window_elevated")&&(r.foreground_window_elevated=t.foreground_window_elevated,n.oneofs&&(r.union="foreground_window_elevated")),t.stop_service!=null&&t.hasOwnProperty("stop_service")&&(r.stop_service=t.stop_service,n.oneofs&&(r.union="stop_service")),t.elevation_request!=null&&t.hasOwnProperty("elevation_request")&&(r.elevation_request=u.hbb.ElevationRequest.toObject(t.elevation_request,n),n.oneofs&&(r.union="elevation_request")),t.elevation_response!=null&&t.hasOwnProperty("elevation_response")&&(r.elevation_response=t.elevation_response,n.oneofs&&(r.union="elevation_response")),t.portable_service_running!=null&&t.hasOwnProperty("portable_service_running")&&(r.portable_service_running=t.portable_service_running,n.oneofs&&(r.union="portable_service_running")),t.switch_sides_request!=null&&t.hasOwnProperty("switch_sides_request")&&(r.switch_sides_request=u.hbb.SwitchSidesRequest.toObject(t.switch_sides_request,n),n.oneofs&&(r.union="switch_sides_request")),t.switch_back!=null&&t.hasOwnProperty("switch_back")&&(r.switch_back=u.hbb.SwitchBack.toObject(t.switch_back,n),n.oneofs&&(r.union="switch_back")),t.change_resolution!=null&&t.hasOwnProperty("change_resolution")&&(r.change_resolution=u.hbb.Resolution.toObject(t.change_resolution,n),n.oneofs&&(r.union="change_resolution")),t.plugin_request!=null&&t.hasOwnProperty("plugin_request")&&(r.plugin_request=u.hbb.PluginRequest.toObject(t.plugin_request,n),n.oneofs&&(r.union="plugin_request")),t.plugin_failure!=null&&t.hasOwnProperty("plugin_failure")&&(r.plugin_failure=u.hbb.PluginFailure.toObject(t.plugin_failure,n),n.oneofs&&(r.union="plugin_failure")),t.full_speed_fps!=null&&t.hasOwnProperty("full_speed_fps")&&(r.full_speed_fps=t.full_speed_fps,n.oneofs&&(r.union="full_speed_fps")),t.auto_adjust_fps!=null&&t.hasOwnProperty("auto_adjust_fps")&&(r.auto_adjust_fps=t.auto_adjust_fps,n.oneofs&&(r.union="auto_adjust_fps")),t.client_record_status!=null&&t.hasOwnProperty("client_record_status")&&(r.client_record_status=t.client_record_status,n.oneofs&&(r.union="client_record_status")),t.capture_displays!=null&&t.hasOwnProperty("capture_displays")&&(r.capture_displays=u.hbb.CaptureDisplays.toObject(t.capture_displays,n),n.oneofs&&(r.union="capture_displays")),t.refresh_video_display!=null&&t.hasOwnProperty("refresh_video_display")&&(r.refresh_video_display=t.refresh_video_display,n.oneofs&&(r.union="refresh_video_display")),t.toggle_virtual_display!=null&&t.hasOwnProperty("toggle_virtual_display")&&(r.toggle_virtual_display=u.hbb.ToggleVirtualDisplay.toObject(t.toggle_virtual_display,n),n.oneofs&&(r.union="toggle_virtual_display")),t.toggle_privacy_mode!=null&&t.hasOwnProperty("toggle_privacy_mode")&&(r.toggle_privacy_mode=u.hbb.TogglePrivacyMode.toObject(t.toggle_privacy_mode,n),n.oneofs&&(r.union="toggle_privacy_mode")),t.supported_encoding!=null&&t.hasOwnProperty("supported_encoding")&&(r.supported_encoding=u.hbb.SupportedEncoding.toObject(t.supported_encoding,n),n.oneofs&&(r.union="supported_encoding")),t.selected_sid!=null&&t.hasOwnProperty("selected_sid")&&(r.selected_sid=t.selected_sid,n.oneofs&&(r.union="selected_sid")),t.change_display_resolution!=null&&t.hasOwnProperty("change_display_resolution")&&(r.change_display_resolution=u.hbb.DisplayResolution.toObject(t.change_display_resolution,n),n.oneofs&&(r.union="change_display_resolution")),t.message_query!=null&&t.hasOwnProperty("message_query")&&(r.message_query=u.hbb.MessageQuery.toObject(t.message_query,n),n.oneofs&&(r.union="message_query")),t.follow_current_display!=null&&t.hasOwnProperty("follow_current_display")&&(r.follow_current_display=t.follow_current_display,n.oneofs&&(r.union="follow_current_display")),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/hbb.Misc"},i}(),p.VoiceCallRequest=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.VoiceCallRequest;for(;e.pos>>3){case 1:{d.req_timestamp=e.int64();break}case 2:{d.is_connect=e.bool();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.req_timestamp!=null&&e.hasOwnProperty("req_timestamp")&&!l.isInteger(e.req_timestamp)&&!(e.req_timestamp&&l.isInteger(e.req_timestamp.low)&&l.isInteger(e.req_timestamp.high))?"req_timestamp: integer|Long expected":e.is_connect!=null&&e.hasOwnProperty("is_connect")&&typeof e.is_connect!="boolean"?"is_connect: boolean expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.VoiceCallRequest)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.VoiceCallRequest;return e.req_timestamp!=null&&(l.Long?(n.req_timestamp=l.Long.fromValue(e.req_timestamp)).unsigned=!1:typeof e.req_timestamp=="string"?n.req_timestamp=parseInt(e.req_timestamp,10):typeof e.req_timestamp=="number"?n.req_timestamp=e.req_timestamp:typeof e.req_timestamp=="object"&&(n.req_timestamp=new l.LongBits(e.req_timestamp.low>>>0,e.req_timestamp.high>>>0).toNumber())),e.is_connect!=null&&(n.is_connect=!!e.is_connect),n},i.toObject=function(e,t){t||(t={});let n={};if(t.defaults){if(l.Long){let r=new l.Long(0,0,!1);n.req_timestamp=t.longs===String?r.toString():t.longs===Number?r.toNumber():r}else n.req_timestamp=t.longs===String?"0":0;n.is_connect=!1}return e.req_timestamp!=null&&e.hasOwnProperty("req_timestamp")&&(typeof e.req_timestamp=="number"?n.req_timestamp=t.longs===String?String(e.req_timestamp):e.req_timestamp:n.req_timestamp=t.longs===String?l.Long.prototype.toString.call(e.req_timestamp):t.longs===Number?new l.LongBits(e.req_timestamp.low>>>0,e.req_timestamp.high>>>0).toNumber():e.req_timestamp),e.is_connect!=null&&e.hasOwnProperty("is_connect")&&(n.is_connect=e.is_connect),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.VoiceCallRequest"},i}(),p.VoiceCallResponse=function(){function i(o){if(o)for(let e=Object.keys(o),t=0;ts.recursionLimit)throw Error("maximum nesting depth exceeded");let f=t===void 0?e.len:e.pos+t,d=new u.hbb.VoiceCallResponse;for(;e.pos>>3){case 1:{d.accepted=e.bool();break}case 2:{d.req_timestamp=e.int64();break}case 3:{d.ack_timestamp=e.int64();break}default:e.skipType(c&7,r);break}}return d},i.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},i.verify=function(e,t){return typeof e!="object"||e===null?"object expected":(t===void 0&&(t=0),t>l.recursionLimit?"maximum nesting depth exceeded":e.accepted!=null&&e.hasOwnProperty("accepted")&&typeof e.accepted!="boolean"?"accepted: boolean expected":e.req_timestamp!=null&&e.hasOwnProperty("req_timestamp")&&!l.isInteger(e.req_timestamp)&&!(e.req_timestamp&&l.isInteger(e.req_timestamp.low)&&l.isInteger(e.req_timestamp.high))?"req_timestamp: integer|Long expected":e.ack_timestamp!=null&&e.hasOwnProperty("ack_timestamp")&&!l.isInteger(e.ack_timestamp)&&!(e.ack_timestamp&&l.isInteger(e.ack_timestamp.low)&&l.isInteger(e.ack_timestamp.high))?"ack_timestamp: integer|Long expected":null)},i.fromObject=function(e,t){if(e instanceof u.hbb.VoiceCallResponse)return e;if(t===void 0&&(t=0),t>l.recursionLimit)throw Error("maximum nesting depth exceeded");let n=new u.hbb.VoiceCallResponse;return e.accepted!=null&&(n.accepted=!!e.accepted),e.req_timestamp!=null&&(l.Long?(n.req_timestamp=l.Long.fromValue(e.req_timestamp)).unsigned=!1:typeof e.req_timestamp=="string"?n.req_timestamp=parseInt(e.req_timestamp,10):typeof e.req_timestamp=="number"?n.req_timestamp=e.req_timestamp:typeof e.req_timestamp=="object"&&(n.req_timestamp=new l.LongBits(e.req_timestamp.low>>>0,e.req_timestamp.high>>>0).toNumber())),e.ack_timestamp!=null&&(l.Long?(n.ack_timestamp=l.Long.fromValue(e.ack_timestamp)).unsigned=!1:typeof e.ack_timestamp=="string"?n.ack_timestamp=parseInt(e.ack_timestamp,10):typeof e.ack_timestamp=="number"?n.ack_timestamp=e.ack_timestamp:typeof e.ack_timestamp=="object"&&(n.ack_timestamp=new l.LongBits(e.ack_timestamp.low>>>0,e.ack_timestamp.high>>>0).toNumber())),n},i.toObject=function(e,t){t||(t={});let n={};if(t.defaults){if(n.accepted=!1,l.Long){let r=new l.Long(0,0,!1);n.req_timestamp=t.longs===String?r.toString():t.longs===Number?r.toNumber():r}else n.req_timestamp=t.longs===String?"0":0;if(l.Long){let r=new l.Long(0,0,!1);n.ack_timestamp=t.longs===String?r.toString():t.longs===Number?r.toNumber():r}else n.ack_timestamp=t.longs===String?"0":0}return e.accepted!=null&&e.hasOwnProperty("accepted")&&(n.accepted=e.accepted),e.req_timestamp!=null&&e.hasOwnProperty("req_timestamp")&&(typeof e.req_timestamp=="number"?n.req_timestamp=t.longs===String?String(e.req_timestamp):e.req_timestamp:n.req_timestamp=t.longs===String?l.Long.prototype.toString.call(e.req_timestamp):t.longs===Number?new l.LongBits(e.req_timestamp.low>>>0,e.req_timestamp.high>>>0).toNumber():e.req_timestamp),e.ack_timestamp!=null&&e.hasOwnProperty("ack_timestamp")&&(typeof e.ack_timestamp=="number"?n.ack_timestamp=t.longs===String?String(e.ack_timestamp):e.ack_timestamp:n.ack_timestamp=t.longs===String?l.Long.prototype.toString.call(e.ack_timestamp):t.longs===Number?new l.LongBits(e.ack_timestamp.low>>>0,e.ack_timestamp.high>>>0).toNumber():e.ack_timestamp),n},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(e){return e===void 0&&(e="type.googleapis.com"),e+"/hbb.VoiceCallResponse"},i}(),p.Message=function(){function i(e){if(e)for(let t=Object.keys(e),n=0;ns.recursionLimit)throw Error("maximum nesting depth exceeded");let d=n===void 0?t.len:t.pos+n,c=new u.hbb.Message;for(;t.pos>>3){case 3:{c.signed_id=u.hbb.SignedId.decode(t,t.uint32(),void 0,f+1);break}case 4:{c.public_key=u.hbb.PublicKey.decode(t,t.uint32(),void 0,f+1);break}case 5:{c.test_delay=u.hbb.TestDelay.decode(t,t.uint32(),void 0,f+1);break}case 6:{c.video_frame=u.hbb.VideoFrame.decode(t,t.uint32(),void 0,f+1);break}case 7:{c.login_request=u.hbb.LoginRequest.decode(t,t.uint32(),void 0,f+1);break}case 8:{c.login_response=u.hbb.LoginResponse.decode(t,t.uint32(),void 0,f+1);break}case 9:{c.hash=u.hbb.Hash.decode(t,t.uint32(),void 0,f+1);break}case 10:{c.mouse_event=u.hbb.MouseEvent.decode(t,t.uint32(),void 0,f+1);break}case 11:{c.audio_frame=u.hbb.AudioFrame.decode(t,t.uint32(),void 0,f+1);break}case 12:{c.cursor_data=u.hbb.CursorData.decode(t,t.uint32(),void 0,f+1);break}case 13:{c.cursor_position=u.hbb.CursorPosition.decode(t,t.uint32(),void 0,f+1);break}case 14:{c.cursor_id=t.uint64();break}case 15:{c.key_event=u.hbb.KeyEvent.decode(t,t.uint32(),void 0,f+1);break}case 16:{c.clipboard=u.hbb.Clipboard.decode(t,t.uint32(),void 0,f+1);break}case 17:{c.file_action=u.hbb.FileAction.decode(t,t.uint32(),void 0,f+1);break}case 18:{c.file_response=u.hbb.FileResponse.decode(t,t.uint32(),void 0,f+1);break}case 19:{c.misc=u.hbb.Misc.decode(t,t.uint32(),void 0,f+1);break}case 20:{c.cliprdr=u.hbb.Cliprdr.decode(t,t.uint32(),void 0,f+1);break}case 21:{c.message_box=u.hbb.MessageBox.decode(t,t.uint32(),void 0,f+1);break}case 22:{c.switch_sides_response=u.hbb.SwitchSidesResponse.decode(t,t.uint32(),void 0,f+1);break}case 23:{c.voice_call_request=u.hbb.VoiceCallRequest.decode(t,t.uint32(),void 0,f+1);break}case 24:{c.voice_call_response=u.hbb.VoiceCallResponse.decode(t,t.uint32(),void 0,f+1);break}case 25:{c.peer_info=u.hbb.PeerInfo.decode(t,t.uint32(),void 0,f+1);break}case 26:{c.pointer_device_event=u.hbb.PointerDeviceEvent.decode(t,t.uint32(),void 0,f+1);break}case 27:{c.auth_2fa=u.hbb.Auth2FA.decode(t,t.uint32(),void 0,f+1);break}case 28:{c.multi_clipboards=u.hbb.MultiClipboards.decode(t,t.uint32(),void 0,f+1);break}default:t.skipType(w&7,f);break}}return c},i.decodeDelimited=function(t){return t instanceof s||(t=new s(t)),this.decode(t,t.uint32())},i.verify=function(t,n){if(typeof t!="object"||t===null)return"object expected";if(n===void 0&&(n=0),n>l.recursionLimit)return"maximum nesting depth exceeded";let r={};if(t.signed_id!=null&&t.hasOwnProperty("signed_id")){r.union=1;{let f=u.hbb.SignedId.verify(t.signed_id,n+1);if(f)return"signed_id."+f}}if(t.public_key!=null&&t.hasOwnProperty("public_key")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.PublicKey.verify(t.public_key,n+1);if(f)return"public_key."+f}}if(t.test_delay!=null&&t.hasOwnProperty("test_delay")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.TestDelay.verify(t.test_delay,n+1);if(f)return"test_delay."+f}}if(t.video_frame!=null&&t.hasOwnProperty("video_frame")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.VideoFrame.verify(t.video_frame,n+1);if(f)return"video_frame."+f}}if(t.login_request!=null&&t.hasOwnProperty("login_request")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.LoginRequest.verify(t.login_request,n+1);if(f)return"login_request."+f}}if(t.login_response!=null&&t.hasOwnProperty("login_response")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.LoginResponse.verify(t.login_response,n+1);if(f)return"login_response."+f}}if(t.hash!=null&&t.hasOwnProperty("hash")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.Hash.verify(t.hash,n+1);if(f)return"hash."+f}}if(t.mouse_event!=null&&t.hasOwnProperty("mouse_event")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.MouseEvent.verify(t.mouse_event,n+1);if(f)return"mouse_event."+f}}if(t.audio_frame!=null&&t.hasOwnProperty("audio_frame")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.AudioFrame.verify(t.audio_frame,n+1);if(f)return"audio_frame."+f}}if(t.cursor_data!=null&&t.hasOwnProperty("cursor_data")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.CursorData.verify(t.cursor_data,n+1);if(f)return"cursor_data."+f}}if(t.cursor_position!=null&&t.hasOwnProperty("cursor_position")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.CursorPosition.verify(t.cursor_position,n+1);if(f)return"cursor_position."+f}}if(t.cursor_id!=null&&t.hasOwnProperty("cursor_id")){if(r.union===1)return"union: multiple values";if(r.union=1,!l.isInteger(t.cursor_id)&&!(t.cursor_id&&l.isInteger(t.cursor_id.low)&&l.isInteger(t.cursor_id.high)))return"cursor_id: integer|Long expected"}if(t.key_event!=null&&t.hasOwnProperty("key_event")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.KeyEvent.verify(t.key_event,n+1);if(f)return"key_event."+f}}if(t.clipboard!=null&&t.hasOwnProperty("clipboard")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.Clipboard.verify(t.clipboard,n+1);if(f)return"clipboard."+f}}if(t.file_action!=null&&t.hasOwnProperty("file_action")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.FileAction.verify(t.file_action,n+1);if(f)return"file_action."+f}}if(t.file_response!=null&&t.hasOwnProperty("file_response")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.FileResponse.verify(t.file_response,n+1);if(f)return"file_response."+f}}if(t.misc!=null&&t.hasOwnProperty("misc")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.Misc.verify(t.misc,n+1);if(f)return"misc."+f}}if(t.cliprdr!=null&&t.hasOwnProperty("cliprdr")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.Cliprdr.verify(t.cliprdr,n+1);if(f)return"cliprdr."+f}}if(t.message_box!=null&&t.hasOwnProperty("message_box")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.MessageBox.verify(t.message_box,n+1);if(f)return"message_box."+f}}if(t.switch_sides_response!=null&&t.hasOwnProperty("switch_sides_response")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.SwitchSidesResponse.verify(t.switch_sides_response,n+1);if(f)return"switch_sides_response."+f}}if(t.voice_call_request!=null&&t.hasOwnProperty("voice_call_request")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.VoiceCallRequest.verify(t.voice_call_request,n+1);if(f)return"voice_call_request."+f}}if(t.voice_call_response!=null&&t.hasOwnProperty("voice_call_response")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.VoiceCallResponse.verify(t.voice_call_response,n+1);if(f)return"voice_call_response."+f}}if(t.peer_info!=null&&t.hasOwnProperty("peer_info")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.PeerInfo.verify(t.peer_info,n+1);if(f)return"peer_info."+f}}if(t.pointer_device_event!=null&&t.hasOwnProperty("pointer_device_event")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.PointerDeviceEvent.verify(t.pointer_device_event,n+1);if(f)return"pointer_device_event."+f}}if(t.auth_2fa!=null&&t.hasOwnProperty("auth_2fa")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.Auth2FA.verify(t.auth_2fa,n+1);if(f)return"auth_2fa."+f}}if(t.multi_clipboards!=null&&t.hasOwnProperty("multi_clipboards")){if(r.union===1)return"union: multiple values";r.union=1;{let f=u.hbb.MultiClipboards.verify(t.multi_clipboards,n+1);if(f)return"multi_clipboards."+f}}return null},i.fromObject=function(t,n){if(t instanceof u.hbb.Message)return t;if(n===void 0&&(n=0),n>l.recursionLimit)throw Error("maximum nesting depth exceeded");let r=new u.hbb.Message;if(t.signed_id!=null){if(typeof t.signed_id!="object")throw TypeError(".hbb.Message.signed_id: object expected");r.signed_id=u.hbb.SignedId.fromObject(t.signed_id,n+1)}if(t.public_key!=null){if(typeof t.public_key!="object")throw TypeError(".hbb.Message.public_key: object expected");r.public_key=u.hbb.PublicKey.fromObject(t.public_key,n+1)}if(t.test_delay!=null){if(typeof t.test_delay!="object")throw TypeError(".hbb.Message.test_delay: object expected");r.test_delay=u.hbb.TestDelay.fromObject(t.test_delay,n+1)}if(t.video_frame!=null){if(typeof t.video_frame!="object")throw TypeError(".hbb.Message.video_frame: object expected");r.video_frame=u.hbb.VideoFrame.fromObject(t.video_frame,n+1)}if(t.login_request!=null){if(typeof t.login_request!="object")throw TypeError(".hbb.Message.login_request: object expected");r.login_request=u.hbb.LoginRequest.fromObject(t.login_request,n+1)}if(t.login_response!=null){if(typeof t.login_response!="object")throw TypeError(".hbb.Message.login_response: object expected");r.login_response=u.hbb.LoginResponse.fromObject(t.login_response,n+1)}if(t.hash!=null){if(typeof t.hash!="object")throw TypeError(".hbb.Message.hash: object expected");r.hash=u.hbb.Hash.fromObject(t.hash,n+1)}if(t.mouse_event!=null){if(typeof t.mouse_event!="object")throw TypeError(".hbb.Message.mouse_event: object expected");r.mouse_event=u.hbb.MouseEvent.fromObject(t.mouse_event,n+1)}if(t.audio_frame!=null){if(typeof t.audio_frame!="object")throw TypeError(".hbb.Message.audio_frame: object expected");r.audio_frame=u.hbb.AudioFrame.fromObject(t.audio_frame,n+1)}if(t.cursor_data!=null){if(typeof t.cursor_data!="object")throw TypeError(".hbb.Message.cursor_data: object expected");r.cursor_data=u.hbb.CursorData.fromObject(t.cursor_data,n+1)}if(t.cursor_position!=null){if(typeof t.cursor_position!="object")throw TypeError(".hbb.Message.cursor_position: object expected");r.cursor_position=u.hbb.CursorPosition.fromObject(t.cursor_position,n+1)}if(t.cursor_id!=null&&(l.Long?(r.cursor_id=l.Long.fromValue(t.cursor_id)).unsigned=!0:typeof t.cursor_id=="string"?r.cursor_id=parseInt(t.cursor_id,10):typeof t.cursor_id=="number"?r.cursor_id=t.cursor_id:typeof t.cursor_id=="object"&&(r.cursor_id=new l.LongBits(t.cursor_id.low>>>0,t.cursor_id.high>>>0).toNumber(!0))),t.key_event!=null){if(typeof t.key_event!="object")throw TypeError(".hbb.Message.key_event: object expected");r.key_event=u.hbb.KeyEvent.fromObject(t.key_event,n+1)}if(t.clipboard!=null){if(typeof t.clipboard!="object")throw TypeError(".hbb.Message.clipboard: object expected");r.clipboard=u.hbb.Clipboard.fromObject(t.clipboard,n+1)}if(t.file_action!=null){if(typeof t.file_action!="object")throw TypeError(".hbb.Message.file_action: object expected");r.file_action=u.hbb.FileAction.fromObject(t.file_action,n+1)}if(t.file_response!=null){if(typeof t.file_response!="object")throw TypeError(".hbb.Message.file_response: object expected");r.file_response=u.hbb.FileResponse.fromObject(t.file_response,n+1)}if(t.misc!=null){if(typeof t.misc!="object")throw TypeError(".hbb.Message.misc: object expected");r.misc=u.hbb.Misc.fromObject(t.misc,n+1)}if(t.cliprdr!=null){if(typeof t.cliprdr!="object")throw TypeError(".hbb.Message.cliprdr: object expected");r.cliprdr=u.hbb.Cliprdr.fromObject(t.cliprdr,n+1)}if(t.message_box!=null){if(typeof t.message_box!="object")throw TypeError(".hbb.Message.message_box: object expected");r.message_box=u.hbb.MessageBox.fromObject(t.message_box,n+1)}if(t.switch_sides_response!=null){if(typeof t.switch_sides_response!="object")throw TypeError(".hbb.Message.switch_sides_response: object expected");r.switch_sides_response=u.hbb.SwitchSidesResponse.fromObject(t.switch_sides_response,n+1)}if(t.voice_call_request!=null){if(typeof t.voice_call_request!="object")throw TypeError(".hbb.Message.voice_call_request: object expected");r.voice_call_request=u.hbb.VoiceCallRequest.fromObject(t.voice_call_request,n+1)}if(t.voice_call_response!=null){if(typeof t.voice_call_response!="object")throw TypeError(".hbb.Message.voice_call_response: object expected");r.voice_call_response=u.hbb.VoiceCallResponse.fromObject(t.voice_call_response,n+1)}if(t.peer_info!=null){if(typeof t.peer_info!="object")throw TypeError(".hbb.Message.peer_info: object expected");r.peer_info=u.hbb.PeerInfo.fromObject(t.peer_info,n+1)}if(t.pointer_device_event!=null){if(typeof t.pointer_device_event!="object")throw TypeError(".hbb.Message.pointer_device_event: object expected");r.pointer_device_event=u.hbb.PointerDeviceEvent.fromObject(t.pointer_device_event,n+1)}if(t.auth_2fa!=null){if(typeof t.auth_2fa!="object")throw TypeError(".hbb.Message.auth_2fa: object expected");r.auth_2fa=u.hbb.Auth2FA.fromObject(t.auth_2fa,n+1)}if(t.multi_clipboards!=null){if(typeof t.multi_clipboards!="object")throw TypeError(".hbb.Message.multi_clipboards: object expected");r.multi_clipboards=u.hbb.MultiClipboards.fromObject(t.multi_clipboards,n+1)}return r},i.toObject=function(t,n){n||(n={});let r={};return t.signed_id!=null&&t.hasOwnProperty("signed_id")&&(r.signed_id=u.hbb.SignedId.toObject(t.signed_id,n),n.oneofs&&(r.union="signed_id")),t.public_key!=null&&t.hasOwnProperty("public_key")&&(r.public_key=u.hbb.PublicKey.toObject(t.public_key,n),n.oneofs&&(r.union="public_key")),t.test_delay!=null&&t.hasOwnProperty("test_delay")&&(r.test_delay=u.hbb.TestDelay.toObject(t.test_delay,n),n.oneofs&&(r.union="test_delay")),t.video_frame!=null&&t.hasOwnProperty("video_frame")&&(r.video_frame=u.hbb.VideoFrame.toObject(t.video_frame,n),n.oneofs&&(r.union="video_frame")),t.login_request!=null&&t.hasOwnProperty("login_request")&&(r.login_request=u.hbb.LoginRequest.toObject(t.login_request,n),n.oneofs&&(r.union="login_request")),t.login_response!=null&&t.hasOwnProperty("login_response")&&(r.login_response=u.hbb.LoginResponse.toObject(t.login_response,n),n.oneofs&&(r.union="login_response")),t.hash!=null&&t.hasOwnProperty("hash")&&(r.hash=u.hbb.Hash.toObject(t.hash,n),n.oneofs&&(r.union="hash")),t.mouse_event!=null&&t.hasOwnProperty("mouse_event")&&(r.mouse_event=u.hbb.MouseEvent.toObject(t.mouse_event,n),n.oneofs&&(r.union="mouse_event")),t.audio_frame!=null&&t.hasOwnProperty("audio_frame")&&(r.audio_frame=u.hbb.AudioFrame.toObject(t.audio_frame,n),n.oneofs&&(r.union="audio_frame")),t.cursor_data!=null&&t.hasOwnProperty("cursor_data")&&(r.cursor_data=u.hbb.CursorData.toObject(t.cursor_data,n),n.oneofs&&(r.union="cursor_data")),t.cursor_position!=null&&t.hasOwnProperty("cursor_position")&&(r.cursor_position=u.hbb.CursorPosition.toObject(t.cursor_position,n),n.oneofs&&(r.union="cursor_position")),t.cursor_id!=null&&t.hasOwnProperty("cursor_id")&&(typeof t.cursor_id=="number"?r.cursor_id=n.longs===String?String(t.cursor_id):t.cursor_id:r.cursor_id=n.longs===String?l.Long.prototype.toString.call(t.cursor_id):n.longs===Number?new l.LongBits(t.cursor_id.low>>>0,t.cursor_id.high>>>0).toNumber(!0):t.cursor_id,n.oneofs&&(r.union="cursor_id")),t.key_event!=null&&t.hasOwnProperty("key_event")&&(r.key_event=u.hbb.KeyEvent.toObject(t.key_event,n),n.oneofs&&(r.union="key_event")),t.clipboard!=null&&t.hasOwnProperty("clipboard")&&(r.clipboard=u.hbb.Clipboard.toObject(t.clipboard,n),n.oneofs&&(r.union="clipboard")),t.file_action!=null&&t.hasOwnProperty("file_action")&&(r.file_action=u.hbb.FileAction.toObject(t.file_action,n),n.oneofs&&(r.union="file_action")),t.file_response!=null&&t.hasOwnProperty("file_response")&&(r.file_response=u.hbb.FileResponse.toObject(t.file_response,n),n.oneofs&&(r.union="file_response")),t.misc!=null&&t.hasOwnProperty("misc")&&(r.misc=u.hbb.Misc.toObject(t.misc,n),n.oneofs&&(r.union="misc")),t.cliprdr!=null&&t.hasOwnProperty("cliprdr")&&(r.cliprdr=u.hbb.Cliprdr.toObject(t.cliprdr,n),n.oneofs&&(r.union="cliprdr")),t.message_box!=null&&t.hasOwnProperty("message_box")&&(r.message_box=u.hbb.MessageBox.toObject(t.message_box,n),n.oneofs&&(r.union="message_box")),t.switch_sides_response!=null&&t.hasOwnProperty("switch_sides_response")&&(r.switch_sides_response=u.hbb.SwitchSidesResponse.toObject(t.switch_sides_response,n),n.oneofs&&(r.union="switch_sides_response")),t.voice_call_request!=null&&t.hasOwnProperty("voice_call_request")&&(r.voice_call_request=u.hbb.VoiceCallRequest.toObject(t.voice_call_request,n),n.oneofs&&(r.union="voice_call_request")),t.voice_call_response!=null&&t.hasOwnProperty("voice_call_response")&&(r.voice_call_response=u.hbb.VoiceCallResponse.toObject(t.voice_call_response,n),n.oneofs&&(r.union="voice_call_response")),t.peer_info!=null&&t.hasOwnProperty("peer_info")&&(r.peer_info=u.hbb.PeerInfo.toObject(t.peer_info,n),n.oneofs&&(r.union="peer_info")),t.pointer_device_event!=null&&t.hasOwnProperty("pointer_device_event")&&(r.pointer_device_event=u.hbb.PointerDeviceEvent.toObject(t.pointer_device_event,n),n.oneofs&&(r.union="pointer_device_event")),t.auth_2fa!=null&&t.hasOwnProperty("auth_2fa")&&(r.auth_2fa=u.hbb.Auth2FA.toObject(t.auth_2fa,n),n.oneofs&&(r.union="auth_2fa")),t.multi_clipboards!=null&&t.hasOwnProperty("multi_clipboards")&&(r.multi_clipboards=u.hbb.MultiClipboards.toObject(t.multi_clipboards,n),n.oneofs&&(r.union="multi_clipboards")),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,S.util.toJSONOptions)},i.getTypeUrl=function(t){return t===void 0&&(t="type.googleapis.com"),t+"/hbb.Message"},i}(),p})();function rr(p,i,o,e,t=1e4){return new Promise((n,r)=>{let f=new WebSocket(p);f.binaryType="arraybuffer";let d=setTimeout(()=>{c(),r(new Error(`punchHole: timeout after ${t}ms`))},t);function c(){clearTimeout(d);try{f.close()}catch{}}f.onopen=()=>{let w=x.RendezvousMessage.create({punch_hole_request:x.PunchHoleRequest.create({id:i,nat_type:x.NatType.SYMMETRIC,licence_key:o,conn_type:x.ConnType.DEFAULT_CONN,version:e})}),B=x.RendezvousMessage.encode(w).finish();f.send(B)},f.onmessage=w=>{let B=new Uint8Array(w.data),j;try{j=x.RendezvousMessage.decode(B)}catch(ce){c(),r(new Error(`punchHole: decode failure: ${ce}`));return}let K=j.punch_hole_response;if(K){if(!K.socket_addr||K.socket_addr.length===0){c(),r(new Error(Wr(K)));return}c(),n({signedIdPk:K.pk||new Uint8Array(0),relayServer:K.relay_server||"",peerUuid:"",peerSocketAddr:K.socket_addr||new Uint8Array(0)});return}let V=j.relay_response;if(V){c(),n({signedIdPk:V.pk||new Uint8Array(0),relayServer:V.relay_server||"",peerUuid:V.uuid||"",peerSocketAddr:V.socket_addr||new Uint8Array(0)});return}},f.onerror=()=>{c(),r(new Error(`punchHole: WebSocket error connecting to ${p}`))},f.onclose=w=>{clearTimeout(d),r(new Error(`punchHole: socket closed (code=${w.code} reason=${w.reason||"n/a"})`))}})}function Wr(p){if(p.other_failure)return p.other_failure;switch(p.failure){case x.PunchHoleResponse.Failure.ID_NOT_EXIST:return"Peer ID not registered with this server";case x.PunchHoleResponse.Failure.OFFLINE:return"Peer is offline";case x.PunchHoleResponse.Failure.LICENSE_MISMATCH:return"License key mismatch";case x.PunchHoleResponse.Failure.LICENSE_OVERUSE:return"License overuse";default:return"Rendezvous failed (peer offline or unknown reason)"}}function or(){let p=globalThis.crypto;if(typeof p.randomUUID=="function")return p.randomUUID();let i=new Uint8Array(16);p.getRandomValues(i),i[6]=i[6]&15|64,i[8]=i[8]&63|128;let o=Array.from(i,e=>e.toString(16).padStart(2,"0"));return`${o.slice(0,4).join("")}-${o.slice(4,6).join("")}-${o.slice(6,8).join("")}-${o.slice(8,10).join("")}-${o.slice(10,16).join("")}`}function ur(p,i=21118){return`${location.protocol==="https:"?"wss":"ws"}://${p}:${i}/`}function fr(p,i=21119){return`${location.protocol==="https:"?"wss":"ws"}://${p}:${i}/`}var Vt=class p{ws;readBuf=[];waiters=[];closed=!1;closeError=null;static async connect(i){let o=new p;return await o._open(i),o}async _open(i){let o=i.connectTimeoutMs??1e4;return new Promise((e,t)=>{this.ws=new WebSocket(i.wsUrl),this.ws.binaryType="arraybuffer";let n=setTimeout(()=>{this._fail(new Error(`relay: connect timeout after ${o}ms`)),t(new Error(`relay: connect timeout after ${o}ms`))},o);this.ws.onopen=()=>{clearTimeout(n);let r=x.RendezvousMessage.create({request_relay:x.RequestRelay.create({id:i.peerId,uuid:i.uuid,licence_key:i.licenceKey,conn_type:x.ConnType.DEFAULT_CONN})}),f=x.RendezvousMessage.encode(r).finish();this.ws.send(f),e()},this.ws.onmessage=r=>{let f=new Uint8Array(r.data),d=this.waiters.shift();d?d(f):this.readBuf.push(f)},this.ws.onerror=()=>{clearTimeout(n),this._fail(new Error(`relay: WebSocket error on ${i.wsUrl}`)),t(new Error(`relay: WebSocket error on ${i.wsUrl}`))},this.ws.onclose=r=>{clearTimeout(n),this._fail(new Error(`relay: socket closed (code=${r.code} reason=${r.reason||"n/a"})`))}})}next(){return this.readBuf.length>0?Promise.resolve(this.readBuf.shift()):this.closed?Promise.resolve(null):new Promise((i,o)=>{this.waiters.push(e=>{this.closeError&&e===null?o(this.closeError):i(e)})})}send(i){if(this.closed)throw new Error("relay: send on closed connection");this.ws.send(i)}close(){this._fail(new Error("relay: closed by client"))}_fail(i){if(!this.closed){this.closed=!0,this.closeError=i;try{this.ws.close()}catch{}for(;this.waiters.length>0;)this.waiters.shift()(null)}}};var _t=class extends Error{constructor(i){super(i||"The remote user declined the connection."),this.name="ConnectionDeclinedError"}},Yt=class p{constructor(i,o,e,t){this.relay=i;this.secretboxKey=o;this.sendSeq=e;this.recvSeq=t}static async open(i){let o=await i.relay.next();if(!o)throw new Error("session: relay closed before SignedId");let e=x.Message.decode(o);if(!e.signed_id)throw new Error(`session: expected signed_id, got ${lr(e)}`);let t=e.signed_id.id;if(!t||t.length===0)throw new Error("session: SignedId.id is empty");let n,r;try{let xe=Ut(t,i.peerSignPk),we=x.IdPk.decode(xe);r=we.id||"",n=we.pk||new Uint8Array(0)}catch(xe){throw new Error(`session: SignedId verify failed (peer's Ed25519 sign pk does not match the rendezvous-signed pk): ${xe}`)}if(r!==i.peerId)throw new Error(`session: SignedId.id mismatch (expected ${i.peerId}, got ${r})`);if(n.length!==32)throw new Error(`session: peer Curve25519 box pk has wrong length ${n.length}`);let f=gn(),d=ei(),c=ti(d,n,f.secretKey),w=x.Message.create({public_key:x.PublicKey.create({asymmetric_value:f.publicKey,symmetric_value:c})});i.relay.send(x.Message.encode(w).finish());let B=new p(i.relay,d,0n,0n),j=await B.recv();if(!j.hash)throw new Error(`session: expected hash, got ${lr(j)}`);let K=j.hash.salt||"",V=j.hash.challenge||"",ce=new TextEncoder,ke=ce.encode(K),Xe=ce.encode(V),Qe=pn(hn(i.password,ke)),Ie=pn(hn(Qe,Xe)),Ze=x.Message.create({login_request:x.LoginRequest.create({username:i.peerId,password:Ie,my_id:"web-client",my_name:i.myName,version:i.clientVersion,my_platform:"Web",session_id:i.sessionId,video_ack_required:!1,option:x.OptionMessage.create({supported_decoding:x.SupportedDecoding.create({ability_vp9:1,ability_h264:1,ability_vp8:1,prefer:x.SupportedDecoding.PreferCodec.VP8}),disable_audio:x.OptionMessage.BoolOption.No,disable_clipboard:x.OptionMessage.BoolOption.No})})});await B.send(Ze);let Re=[],Ce=!1;for(;;){let xe=await B.recv();if(xe.test_delay){let we=xe.test_delay;await B.send(x.Message.create({test_delay:x.TestDelay.create({time:we.time,from_client:!0,last_delay:we.last_delay,target_bitrate:we.target_bitrate})}));continue}if(xe.login_response){let we=xe.login_response;if(we.error){if(we.error==="No Password Access"){if(!Ce){Ce=!0;try{i.onAwaitingApproval?.()}catch{}}continue}throw new Error(`session: login refused: ${we.error}`)}if(!we.peer_info)throw new Error("session: login_response missing peer_info");return console.log(`[rustdesk-web] session: login OK, peer=${we.peer_info.hostname}/${we.peer_info.platform} v${we.peer_info.version}`),{session:B,peerInfo:we.peer_info,preloginExtras:Re}}if(xe.misc?.close_reason!=null)throw new _t(xe.misc.close_reason);Re.push(xe)}}async send(i){let o=x.Message.encode(i).finish();this.sendSeq+=1n;let e=ni(o,this.sendSeq,this.secretboxKey);this.relay.send(e)}async recv(){let i=await this.relay.next();if(!i)throw new Error("session: relay closed");this.recvSeq+=1n;let o=ii(i,this.recvSeq,this.secretboxKey);return x.Message.decode(o)}close(){this.relay.close()}};function lr(p){for(let i of["signed_id","public_key","test_delay","video_frame","login_request","login_response","hash","mouse_event","audio_frame","key_event","clipboard","misc","peer_info"])if(p[i])return i;return"unknown"}function*Gr(p){let i=[];for(let o=0;o+2e&&(yield p.subarray(e,t))}}function cr(p){for(let i of Gr(p)){if(i.length<4||(i[0]&31)!==7)continue;let e=i[1],t=i[2],n=i[3],r=f=>f.toString(16).padStart(2,"0").toUpperCase();return`avc1.${r(e)}${r(t)}${r(n)}`}return null}var Wt=class{decoder=null;currentCodec="";onFrame;framesIn=0;framesOut=0;lastDiagAt=performance.now();constructor(i){if(this.onFrame=i,typeof VideoDecoder>"u"){let e=!window.isSecureContext?"Open this page via http://localhost or https:// \u2014 WebCodecs is gated to secure contexts and the LAN IP doesn't qualify.":"Update to Chrome 94+, Firefox 130+, or Safari 16.4+.";throw new Error(`WebCodecs VideoDecoder unavailable. ${e}`)}}diagStats(){let i=performance.now(),o=(i-this.lastDiagAt)/1e3||1,e=Math.round(this.framesIn/o),t=Math.round(this.framesOut/o);return this.framesIn=0,this.framesOut=0,this.lastDiagAt=i,{recvFps:e,decodeFps:t,codec:this.currentCodec}}pushVideoFrame(i){let o=this.detectFamily(i);if(!o)return;let e=i.vp9s?.frames||i.vp8s?.frames||i.av1s?.frames||i.h264s?.frames||i.h265s?.frames;if(!(!e||e.length===0))for(let t of e)this.handleFrame(o,t)}detectFamily(i){return i.vp9s?"vp9":i.vp8s?"vp8":i.av1s?"av1":i.h264s?"h264":i.h265s?"h265":""}codecStringFor(i,o){switch(i){case"vp9":return"vp09.00.50.08";case"vp8":return"vp8";case"av1":return"av01.0.04M.08";case"h264":return o?cr(o):null;case"h265":return"hvc1.1.6.L93.B0";default:return null}}handleFrame(i,o){if(!o.data||o.data.length===0)return;let e=o.data,t=!!o.key;if(this.framesIn++,i==="h264"&&!this.decoder){if(!t)return;let n=this.codecStringFor("h264",e);if(!n){console.warn("[rustdesk-web] H.264 keyframe missing SPS \u2014 dropping");return}this.configureDecoder(n)}else if(i!=="h264"&&(!this.decoder||this.currentCodec!==this.codecStringFor(i))){let n=this.codecStringFor(i);if(!n)return;this.configureDecoder(n)}this.decode(e,t,o.pts)}configureDecoder(i){if(this.decoder)try{this.decoder.close()}catch{}this.currentCodec=i,this.decoder=new VideoDecoder({output:o=>{this.framesOut++,this.onFrame(o)},error:o=>{console.error("[rustdesk-web] VideoDecoder error:",o)}}),this.decoder.configure({codec:i,optimizeForLatency:!0})}decode(i,o,e){if(!this.decoder)return;let t=typeof e=="number"?e:Number(e||0);try{let n=new EncodedVideoChunk({type:o?"key":"delta",timestamp:t*1e3,data:i});this.decoder.decode(n)}catch(n){console.error("[rustdesk-web] decode chunk failed:",n)}}close(){if(this.decoder){try{this.decoder.close()}catch{}this.decoder=null}}};var Gt=class{decoder=null;ctx=null;playhead=0;timestamp=0;muted=!1;gain=null;configure(i){if(typeof AudioDecoder>"u")throw new Error("WebCodecs AudioDecoder unavailable. Open via http://localhost or https:// \u2014 secure-context only.");let o=i.sample_rate||48e3,e=i.channels||2;this.decoder&&this.decoder.close(),this.ctx=new AudioContext({sampleRate:o,latencyHint:"interactive"}),this.gain=this.ctx.createGain(),this.gain.connect(this.ctx.destination),this.playhead=this.ctx.currentTime+.05,this.timestamp=0,this.decoder=new AudioDecoder({output:t=>this.onAudioData(t),error:t=>console.error("[rustdesk-web] AudioDecoder error:",t)}),this.decoder.configure({codec:"opus",sampleRate:o,numberOfChannels:e})}pushFrame(i){if(!(!this.decoder||i.length===0||this.muted))try{let o=new EncodedAudioChunk({type:"key",timestamp:this.timestamp,data:i});this.timestamp+=2e4,this.decoder.decode(o)}catch(o){console.error("[rustdesk-web] audio decode failed:",o)}}async resume(){this.ctx&&this.ctx.state==="suspended"&&await this.ctx.resume()}setMuted(i){this.muted=i,this.gain&&this.ctx&&this.gain.gain.setValueAtTime(i?0:1,this.ctx.currentTime)}isMuted(){return this.muted}close(){if(this.decoder){try{this.decoder.close()}catch{}this.decoder=null}if(this.ctx){try{this.ctx.close()}catch{}this.ctx=null}}onAudioData(i){if(!this.ctx||!this.gain){i.close();return}try{let o=i.numberOfChannels,e=i.numberOfFrames,t=i.sampleRate,n=this.ctx.createBuffer(o,e,t);if((i.format||"f32").endsWith("-planar"))for(let c=0;c0&&i-this.frameTimes[0]>1e3;)this.frameTimes.shift()}fps(){return this.frameTimes.length}size(){return{width:this.width,height:this.height}}rect(){return this.canvas.getBoundingClientRect()}el(){return this.canvas}};var Xr=0,Qr=1,Zr=2,gr=3,eo=1,to=2,no=4,io=8,ro=16;function dr(p){switch(p){case 0:return eo;case 1:return no;case 2:return to;case 3:return io;case 4:return ro;default:return 0}}function ar(p,i,o){let e=p.el(),t=(j,K,V,ce)=>{let ke=[];ce.altKey&&ke.push(x.ControlKey.Alt),ce.ctrlKey&&ke.push(x.ControlKey.Control),ce.shiftKey&&ke.push(x.ControlKey.Shift),ce.metaKey&&ke.push(x.ControlKey.Meta),i.send(x.Message.create({mouse_event:x.MouseEvent.create({mask:j,x:Math.round(K),y:Math.round(V),modifiers:ke})})).catch(()=>{})},n=(j,K)=>{let V=p.size();if(!V.width||!V.height)return null;let ce=p.rect();if(ce.width<=0||ce.height<=0)return null;let ke=Math.min(ce.width/V.width,ce.height/V.height),Xe=V.width*ke,Qe=V.height*ke,Ie=ce.left+(ce.width-Xe)/2,Ze=ce.top+(ce.height-Qe)/2,Re=(j-Ie)/ke,Ce=(K-Ze)/ke;if(Re<0||Ce<0||Re>V.width||Ce>V.height)return null;let xe=o();return{x:Re+xe.x,y:Ce+xe.y}},r=0,f=j=>{let K=n(j.clientX,j.clientY);if(!K)return;let V=r<<3|Xr;t(V,K.x,K.y,j)},d=j=>{let K=n(j.clientX,j.clientY);if(!K)return;let V=dr(j.button);if(!V)return;r|=V;let ce=V<<3|Qr;t(ce,K.x,K.y,j),e.focus({preventScroll:!0}),j.button===2&&j.preventDefault()},c=j=>{let K=n(j.clientX,j.clientY);if(!K)return;let V=dr(j.button);if(!V)return;r&=~V;let ce=V<<3|Zr;t(ce,K.x,K.y,j)},w=j=>{if(!n(j.clientX,j.clientY))return;let V=(Qe,Ie)=>Ie===WheelEvent.DOM_DELTA_PIXEL?Math.max(-5,Math.min(5,Math.round(Qe/16))):Math.max(-5,Math.min(5,Math.round(Qe))),ce=V(j.deltaX,j.deltaMode),ke=V(-j.deltaY,j.deltaMode);if(ce===0&&ke===0)return;t(gr,ce,ke,j),j.preventDefault()},B=j=>{j.preventDefault()};return e.addEventListener("mousemove",f),e.addEventListener("mousedown",d),e.addEventListener("mouseup",c),e.addEventListener("wheel",w,{passive:!1}),e.addEventListener("contextmenu",B),()=>{e.removeEventListener("mousemove",f),e.removeEventListener("mousedown",d),e.removeEventListener("mouseup",c),e.removeEventListener("wheel",w),e.removeEventListener("contextmenu",B)}}var Rn="";async function Ln(p){if(p.format!==x.ClipboardFormat.Text||!p.content)return;let i=new TextDecoder().decode(p.content);if(i)try{await navigator.clipboard.writeText(i),Rn=i}catch{}}async function sr(p){let i=p.clipboards||[];for(let o of i)if(o.format===x.ClipboardFormat.Text){await Ln(o);return}}async function pr(p){let i="";try{i=await navigator.clipboard.readText()}catch{return}if(!i||i===Rn)return;let o=new TextEncoder().encode(i);await p.send(x.Message.create({clipboard:x.Clipboard.create({compress:!1,format:x.ClipboardFormat.Text,content:o})})).catch(()=>{})}function hr(p){let i=o=>{let e=o.clipboardData?.getData("text/plain");if(!e||e===Rn)return;let t=new TextEncoder().encode(e);p.send(x.Message.create({clipboard:x.Clipboard.create({compress:!1,format:x.ClipboardFormat.Text,content:t})})).catch(()=>{})};return window.addEventListener("paste",i),()=>window.removeEventListener("paste",i)}var oo={AltLeft:x.ControlKey.Alt,AltRight:x.ControlKey.RAlt,ControlLeft:x.ControlKey.Control,ControlRight:x.ControlKey.RControl,ShiftLeft:x.ControlKey.Shift,ShiftRight:x.ControlKey.RShift,MetaLeft:x.ControlKey.Meta,MetaRight:x.ControlKey.RWin,OSLeft:x.ControlKey.Meta,OSRight:x.ControlKey.RWin,CapsLock:x.ControlKey.CapsLock,Backspace:x.ControlKey.Backspace,Delete:x.ControlKey.Delete,Tab:x.ControlKey.Tab,Enter:x.ControlKey.Return,NumpadEnter:x.ControlKey.NumpadEnter,Escape:x.ControlKey.Escape,Space:x.ControlKey.Space,Insert:x.ControlKey.Insert,Home:x.ControlKey.Home,End:x.ControlKey.End,PageUp:x.ControlKey.PageUp,PageDown:x.ControlKey.PageDown,ArrowUp:x.ControlKey.UpArrow,ArrowDown:x.ControlKey.DownArrow,ArrowLeft:x.ControlKey.LeftArrow,ArrowRight:x.ControlKey.RightArrow,F1:x.ControlKey.F1,F2:x.ControlKey.F2,F3:x.ControlKey.F3,F4:x.ControlKey.F4,F5:x.ControlKey.F5,F6:x.ControlKey.F6,F7:x.ControlKey.F7,F8:x.ControlKey.F8,F9:x.ControlKey.F9,F10:x.ControlKey.F10,F11:x.ControlKey.F11,F12:x.ControlKey.F12,PrintScreen:x.ControlKey.Snapshot,ScrollLock:x.ControlKey.Scroll,Pause:x.ControlKey.Pause,NumLock:x.ControlKey.NumLock,ContextMenu:x.ControlKey.Apps,Numpad0:x.ControlKey.Numpad0,Numpad1:x.ControlKey.Numpad1,Numpad2:x.ControlKey.Numpad2,Numpad3:x.ControlKey.Numpad3,Numpad4:x.ControlKey.Numpad4,Numpad5:x.ControlKey.Numpad5,Numpad6:x.ControlKey.Numpad6,Numpad7:x.ControlKey.Numpad7,Numpad8:x.ControlKey.Numpad8,Numpad9:x.ControlKey.Numpad9,NumpadAdd:x.ControlKey.Add,NumpadSubtract:x.ControlKey.Subtract,NumpadMultiply:x.ControlKey.Multiply,NumpadDivide:x.ControlKey.Divide,NumpadDecimal:x.ControlKey.Decimal,NumpadEqual:x.ControlKey.Equals};function uo(p){let i=[];return p.altKey&&i.push(x.ControlKey.Alt),p.ctrlKey&&i.push(x.ControlKey.Control),p.shiftKey&&i.push(x.ControlKey.Shift),p.metaKey&&i.push(x.ControlKey.Meta),i}function br(p,i){let o=(n,r)=>{let f=n.target;if(f&&(f.tagName==="INPUT"||f.tagName==="TEXTAREA"||f.isContentEditable))return;let d=oo[n.code],c=n.ctrlKey||n.altKey||n.metaKey,w;if(d!==void 0)w={control_key:d,down:r};else if(n.key.length===1){let j=n.key.codePointAt(0);if(c)w={chr:j,down:r};else{if(!r)return;w={unicode:j,down:!0}}}else return;w.modifiers=uo(n),w.mode=x.KeyboardMode.Legacy,r&&c&&n.code==="KeyV"&&pr(i).catch(()=>{}),i.send(x.Message.create({key_event:x.KeyEvent.create(w)})).catch(()=>{}),(n.metaKey||n.ctrlKey)&&["KeyT","KeyN","KeyW","KeyR","Tab"].includes(n.code)||n.preventDefault()},e=n=>o(n,!0),t=n=>o(n,!1);return window.addEventListener("keydown",e),window.addEventListener("keyup",t),()=>{window.removeEventListener("keydown",e),window.removeEventListener("keyup",t)}}function yr(p){p.send(x.Message.create({key_event:x.KeyEvent.create({control_key:x.ControlKey.CtrlAltDel,down:!0,mode:x.KeyboardMode.Legacy})})).catch(()=>{})}var _r="1.4.0";function fo(){let p=document.getElementById("custom-config");if(!p)throw new Error("missing