homebridge-ratgdo 2.8.1 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ratgdo-api.js","sourceRoot":"","sources":["../src/ratgdo-api.ts"],"names":[],"mappings":"AAKA,OAAO,EAAe,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,+DAA+D;AAC/D,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,0CAA0C;AAC1C,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB;;GAEG;AACH,IAAK,WAuCJ;AAvCD,WAAK,WAAW;IAEd,+DAA0C,CAAA;IAC1C,iEAA0C,CAAA;IAC1C,mEAA0C,CAAA;IAC1C,qEAA0C,CAAA;IAC1C,yEAA0C,CAAA;IAC1C,2EAA0C,CAAA;IAC1C,6DAA0C,CAAA;IAC1C,+DAA0C,CAAA;IAC1C,2EAA0C,CAAA;IAC1C,8EAA2C,CAAA;IAC3C,gFAA2C,CAAA;IAC3C,8GAA2C,CAAA;IAC3C,8FAA2C,CAAA;IAC3C,8FAA2C,CAAA;IAC3C,gGAA2C,CAAA;IAC3C,gGAA2C,CAAA;IAC3C,0GAA2C,CAAA;IAC3C,4FAA2C,CAAA;IAC3C,sFAA2C,CAAA;IAC3C,4EAA2C,CAAA;IAC3C,4DAA2C,CAAA;IAC3C,4DAA2C,CAAA;IAC3C,8DAA2C,CAAA;IAC3C,8DAA2C,CAAA;IAC3C,wEAA2C,CAAA;IAC3C,gFAA2C,CAAA;IAC3C,4EAA2C,CAAA;IAC3C,gFAA2C,CAAA;IAC3C,kFAA2C,CAAA;IAC3C,oGAA2C,CAAA;IAC3C,gGAA2C,CAAA;IAC3C,8DAA2C,CAAA;IAC3C,4FAA2C,CAAA;IAC3C,0DAA2C,CAAA;IAC3C,8EAA2C,CAAA;IAC3C,gGAA2C,CAAA;IAC3C,kFAA2C,CAAA;AAC7C,CAAC,EAvCI,WAAW,KAAX,WAAW,QAuCf;AAOD;;GAEG;AACH,IAAK,QAMJ;AAND,WAAK,QAAQ;IAEX,2CAAU,CAAA;IACV,6CAAW,CAAA;IACX,+DAAoB,CAAA;IACpB,6CAAW,CAAA;AACb,CAAC,EANI,QAAQ,KAAR,QAAQ,QAMZ;AA8DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,OAAO,aAAc,SAAQ,YAAY;IAE7C,mDAAmD;IAC3C,YAAY,CAAmB;IAEvC,0DAA0D;IAClD,YAAY,CAAoC;IAExD,oDAAoD;IAC5C,IAAI,CAAS;IAErB,WAAW;IACH,GAAG,CAA0B;IAErC,kDAAkD;IAC1C,IAAI,CAAS;IAErB,8EAA8E;IACtE,UAAU,CAAC;IAEnB,uDAAuD;IAC/C,gBAAgB,CAAuB;IAE/C,yDAAyD;IACjD,kBAAkB,CAAW;IAErC,4DAA4D;IACpD,UAAU,CAAC;IAEnB,sDAAsD;IAC9C,WAAW,CAAC;IAEpB,6CAA6C;IACrC,WAAW,CAAC;IAEpB;;;;;;OAMG;IACH,YAAY,GAA4B,EAAE,IAAY,EAAE,IAAI,GAAG,IAAI;QAEjE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,OAAO;QAEZ,4EAA4E;QAC5E,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,qDAAqD;QACrD,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAE3E,oEAAoE;QACpE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAE5D,iDAAiD;QACjD,IAAI,CAAC,YAAY,GAAG,CAAC,KAAa,EAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhD,mDAAmD;QACnD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;QAE7E,oDAAoD;QACpD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACI,UAAU;QAEf,8BAA8B;QAC9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,iCAAiC;QACjC,IAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAErB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,aAAa;QAEnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;QAEpE,yDAAyD;QACzD,+DAA+D;QAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QAE5D,kCAAkC;QAClC,MAAM,MAAM,GAAiB;YAE3B,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,EAAE;YAC1E,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE;YACvD,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE;SACzD,CAAC;QAEF,qCAAqC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,GAAU;QAElC,QAAQ,GAA6B,CAAC,IAAI,EAAE,CAAC;YAE3C,KAAK,YAAY;gBAEf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBAEpC,MAAM;YAER,KAAK,WAAW,CAAC;YACjB,KAAK,cAAc;gBAEjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBAEtC,MAAM;YAER,KAAK,WAAW;gBAEd,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAExC,MAAM;YAER;gBAEE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAG,GAA6B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAElF,MAAM;QACV,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,iBAAiB;QAEvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,mBAAmB;QAEzB,IAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAE1C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACjD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,KAAa;QAE9B,mDAAmD;QACnD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;QAE1D,6CAA6C;QAC7C,OAAM,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;YAE/C,2DAA2D;YAC3D,IAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAE5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAC/C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAElC,OAAO;YACT,CAAC;YAED,uCAAuC;YACvC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAE/D,qCAAqC;YACrC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;YAEzE,mCAAmC;YACnC,MAAM,UAAU,GAAG,CAAC,GAAG,QAAQ,GAAG,SAAS,CAAC;YAE5C,0DAA0D;YAC1D,IAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC;gBAElD,MAAM;YACR,CAAC;YAED,+BAA+B;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC;YAE1E,gCAAgC;YAChC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAElC,wDAAwD;YACxD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAY,EAAE,OAAe;QAEjD,sDAAsD;QACtD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAExC,iCAAiC;QACjC,QAAO,IAAI,EAAE,CAAC;YAEZ,KAAK,WAAW,CAAC,cAAc;gBAE7B,sDAAsD;gBACtD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEhE,MAAM;YAER,KAAK,WAAW,CAAC,gBAAgB;gBAE/B,iDAAiD;gBACjD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEpE,wDAAwD;gBACxD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEtE,MAAM;YAER,KAAK,WAAW,CAAC,kBAAkB;gBAEjC,wDAAwD;gBACxD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEpE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAElB,MAAM;YAER,KAAK,WAAW,CAAC,mBAAmB;gBAElC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAElB,MAAM;YAGR,KAAK,WAAW,CAAC,oBAAoB;gBAEnC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;gBAEvC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAE5C,MAAM;YAER,KAAK,WAAW,CAAC,2BAA2B;gBAE1C,iDAAiD;gBACjD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAE/C,mFAAmF;gBACnF,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,wBAAwB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEzE,MAAM;YAER,KAAK,WAAW,CAAC,YAAY;gBAE3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBAEjD,yDAAyD;gBACzD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE9D,kDAAkD;gBAClD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEvB,MAAM;YAER,KAAK,WAAW,CAAC,aAAa;gBAE5B,kDAAkD;gBAClD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEvB,MAAM;YAER;gBAEE,6CAA6C;gBAC7C,IAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAErC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAErC,OAAO;gBACT,CAAC;gBAED,mCAAmC;gBACnC,IAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;oBAE5B,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAEpC,OAAO;gBACT,CAAC;gBAED,0BAA0B;gBAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,GAAG,IAAI,GAAG,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAE5F,MAAM;QACV,CAAC;IACH,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,OAAe;QAE9C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAE9C,+CAA+C;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE5C,kDAAkD;QAClD,MAAM,IAAI,GAAe,EAAE,CAAC;QAE5B,mCAAmC;QACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAE7D,0BAA0B;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAE/C,iCAAiC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAErD,qCAAqC;QACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEzD,sCAAsC;QACtC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAE1D,2BAA2B;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEhD,oCAAoC;QACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAE7D,kCAAkC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEtD,qCAAqC;QACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEzD,qCAAqC;QACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEzD,qDAAqD;QACrD,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEvE,oDAAoD;QACpD,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEtE,gCAAgC;QAChC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACI,UAAU;QAEf,gEAAgE;QAChE,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,IAAY;QAEzC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,oCAAoC,IAAI,IAAI,IAAI,WAAW,CAAC,kCAAkC,CAAC;YAC3H,CAAE,WAAW,CAAC,+BAA+B,EAAE,WAAW,CAAC,6BAA6B,EAAE,WAAW,CAAC,2BAA2B;gBAC/H,WAAW,CAAC,6BAA6B,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAY;QAEhC,OAAO,CAAE,WAAW,CAAC,mBAAmB,EAAE,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,YAAY;YAC5I,WAAW,CAAC,iBAAiB,EAAE,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,sBAAsB,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzI,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,IAAiB;QAE1C,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACzH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,IAAY,EAAE,OAAe;QAEpD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE5C,uCAAuC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEhD,IAAG,GAAG,KAAK,SAAS,EAAE,CAAC;YAErB,OAAO;QACT,CAAC;QAED,wCAAwC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEhD,IAAG,IAAI,KAAK,SAAS,EAAE,CAAC;YAEtB,OAAO;QACT,CAAC;QAED,8DAA8D;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE5C,mDAAmD;QACnD,MAAM,QAAQ,GAAG,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAEvE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEjC,sEAAsE;QACtE,MAAM,GAAG,GAAW,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAE/C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAElC,6CAA6C;QAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5F,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,IAAY,EAAE,OAAe;QAEnD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE5C,uCAAuC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAE7C,IAAG,GAAG,KAAK,SAAS,EAAE,CAAC;YAErB,OAAO;QACT,CAAC;QAED,gDAAgD;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7E,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAE1C,wEAAwE;QACxE,IAAG,IAAI,KAAK,WAAW,CAAC,WAAW,EAAE,CAAC;YAEpC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE/C,OAAO;QACT,CAAC;QAED,+DAA+D;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEpD,mCAAmC;QACnC,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAEtD,qEAAqE;QACrE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,MAAoC,EAAE,SAAiB,EAAE,IAAY;QAE5F,qCAAqC;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEpD,iDAAiD;QACjD,MAAM,IAAI,GAAG;YAEX,gBAAgB;YAChB,QAAQ;YACR,MAAM,EAAE,IAAI;YACZ,WAAW;YACX,QAAQ;YACR,IAAI;YACJ,IAAI,EAAE,SAAS;SAChB,CAAC;QAEF,qEAAqE;QACrE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,MAAoC,EAAE,QAAgB;QAE7E,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAErC,IAAG,CAAC,MAAM,EAAE,CAAC;YAEX,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,uCAAuC;QACvC,IAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAE3B,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,IAAG,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAE9B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,MAAoC,EAAE,QAAgB;QAEhF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAErC,IAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YAE9D,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,MAAoC,EAAE,QAAgB;QAE/E,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAErC,IAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAE5B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,MAAoC,EAAE,QAAgB;QAE/E,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAElC,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,MAAoC,EAAE,QAAgB;QAElF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAErC,IAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAE3B,gEAAgE;YAChE,OAAO,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,MAAgB,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,IAAiB,EAAE,OAAe;QAErD,gEAAgE;QAChE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC;QAElH,mDAAmD;QACnD,IAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAErB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,MAAoB;QAE5C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,GAAW,CAAC;QAEhB,KAAI,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAE1B,wBAAwB;YACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEzE,6CAA6C;YAC7C,QAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAEtB,KAAK,QAAQ,CAAC,MAAM;oBAElB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC,CAAC;oBAErD,MAAM;gBAER,KAAK,QAAQ,CAAC,gBAAgB;oBAE5B,GAAG,GAAG,KAAK,CAAC,KAAe,CAAC;oBAE5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEhB,MAAM;gBAER,KAAK,QAAQ,CAAC,OAAO;oBAEnB,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBAEjC,IAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAEnC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBACpC,CAAC;yBAAM,CAAC;wBAEL,KAAK,CAAC,KAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpC,CAAC;oBAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEhB,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,GAAW;QAE/B,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IACpE,CAAC;IAED;;;;;;OAMG;IACI,YAAY,CAAC,EAAU;QAE5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;IACzC,CAAC;IAED;;;OAGG;IACI,eAAe;QAEpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAExC,KAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC;YAEtE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;YAEjC,KAAI,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAEtC,IAAG,MAAM,EAAE,CAAC;oBAEV,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,aAAa,CAAC,EAAU;QAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,IAAG,CAAC,GAAG,EAAE,CAAC;YAER,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAElB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACI,SAAS,CAAC,EAAU;QAEzB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACI,qBAAqB;QAE1B,MAAM,MAAM,GAA6B,EAAE,CAAC;QAE5C,KAAI,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YAEvC,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAE9B,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACI,kBAAkB;QAEvB,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAE1C,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAE9E,OAAO,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,QAAQ;QAEb,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACI,iBAAiB,CAAC,EAAU,EAAE,KAAc;QAEjD,gDAAgD;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,6BAA6B;QAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,GAAG,EAAE,GAAG,UAAU,GAAG,GAAG,GAAG,YAAY,GAAG,KAAK,CAAC,CAAC;QAE1F,+CAA+C;QAC/C,IAAG,CAAC,GAAG,EAAE,CAAC;YAER,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YAEpD,OAAO;QACT,CAAC;QAED,6BAA6B;QAC7B,MAAM,MAAM,GAAiB,CAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAE,CAAC;QAE9H,8CAA8C;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACI,iBAAiB,CAAC,EAAU;QAEjC,gDAAgD;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,6BAA6B;QAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,GAAG,EAAE,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC;QAEnE,+CAA+C;QAC/C,IAAG,CAAC,GAAG,EAAE,CAAC;YAER,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YAEpD,OAAO;QACT,CAAC;QAED,6BAA6B;QAC7B,MAAM,MAAM,GAAiB,CAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAE,CAAC;QAEzD,8CAA8C;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACI,gBAAgB,CAAC,EAAU,EAAE,OAAkF;QAEpH,iDAAiD;QACjD,IAAG,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAEhG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;YAE3F,OAAO;QACT,CAAC;QAED,gDAAgD;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,6BAA6B;QAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,GAAG,EAAE,GAAG,UAAU,GAAG,GAAG,GAAG,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAE7G,+CAA+C;QAC/C,IAAG,CAAC,GAAG,EAAE,CAAC;YAER,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YAEpD,OAAO;QACT,CAAC;QAED,6BAA6B;QAC7B,MAAM,MAAM,GAAiB,CAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAE,CAAC;QAEzD,uDAAuD;QACvD,IAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAEnB,oDAAoD;YACpD,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAE9C,MAAM,CAAC,IAAI,CAET,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAG,qBAAqB;YAC/E,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAE,iBAAiB;aACjG,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,IAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAExC,MAAM,CAAC,IAAI,CAET,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAE,eAAe;aACzE,CAAC;YAEF,qCAAqC;YACrC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAE/C,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,CAET,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAE,WAAW;aAChF,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,IAAG,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAEpC,MAAM,CAAC,IAAI,CAET,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAE,WAAW;aACrE,CAAC;YAEF,iCAAiC;YACjC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAE3C,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,CAET,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAE,OAAO;aACxE,CAAC;QACJ,CAAC;QAED,6CAA6C;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;OAOG;IACI,gBAAgB,CAAC,EAAU,EAAE,OAAiD;QAEnF,gDAAgD;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,6BAA6B;QAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,GAAG,EAAE,GAAG,UAAU,GAAG,GAAG,GAAG,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAE7G,+CAA+C;QAC/C,IAAG,CAAC,GAAG,EAAE,CAAC;YAER,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YAEpD,OAAO;QACT,CAAC;QAED,sCAAsC;QACtC,MAAM,MAAM,GAAiB,CAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAE,CAAC;QAEzD,4CAA4C;QAC5C,IAAG,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAE/B,MAAM,CAAC,IAAI,CAET,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAG,YAAY;YACtE,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAE,QAAQ;aACtF,CAAC;QACJ,CAAC;QAED,oDAAoD;QACpD,IAAG,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAE1C,MAAM,CAAC,IAAI,CAET,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAE,iBAAiB;aAC3E,CAAC;YAEF,4BAA4B;YAC5B,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAEjD,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,IAAI,CAET,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAE,aAAa;aACpF,CAAC;QACJ,CAAC;QAED,6CAA6C;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACI,eAAe,CAAC,EAAU,EAAE,OAA0B,EAAE,IAAa;QAE1E,gDAAgD;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,6BAA6B;QAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,GAAG,EAAE,GAAG,UAAU,GAAG,GAAG,GAAG,cAAc,GAAG,OAAO,CAAC,CAAC;QAE5F,+CAA+C;QAC/C,IAAG,CAAC,GAAG,EAAE,CAAC;YAER,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YAEpD,OAAO;QACT,CAAC;QAED,6CAA6C;QAC7C,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAEtC,6BAA6B;QAC7B,MAAM,MAAM,GAAiB;YAE3B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;YACvB,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAE,UAAU;SAClF,CAAC;QAEF,2CAA2C;QAC3C,IAAG,IAAI,KAAK,SAAS,EAAE,CAAC;YAEtB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAE1C,MAAM,CAAC,IAAI,CAET,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,EAAE,CAAE,OAAO;aACjF,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAGD;;OAEG;IACK,YAAY,CAAC,KAAa;QAEhC,uDAAuD;QACvD,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,6EAA6E;QAC7E,KAAI,IAAI,CAAC,GAAG,KAAK,GAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAE9B,wDAAwD;YACxD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC;YAE1B,2DAA2D;YAC3D,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;YAEhC,sFAAsF;YACtF,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAEpD,0CAA0C;YAC1C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEjB,6DAA6D;YAC7D,IAAG,CAAC,OAAO,EAAE,CAAC;gBAEZ,MAAM;YACR,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,MAAc,EAAE,MAAc;QAE/C,8CAA8C;QAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,6CAA6C;QAC7C,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,sFAAsF;QACtF,KAAI,IAAI,KAAK,GAAG,CAAC,GAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAEhC,2CAA2C;YAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;YAExC,mFAAmF;YACnF,MAAM,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC;YAEjC,4BAA4B;YAC5B,SAAS,EAAE,CAAC;YAEZ,yDAAyD;YACzD,IAAG,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAEvB,MAAM;YACR,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,MAAc;QAEnC,qEAAqE;QACrE,MAAM,MAAM,GAAiC,EAAE,CAAC;QAEhD,+DAA+D;QAC/D,KAAI,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,6BAA6B,EAAE,CAAC;YAE1E,IAAI,GAAW,CAAC;YAChB,IAAI,MAAc,CAAC;YACnB,IAAI,CAAS,CAAC;YACd,IAAI,KAAiB,CAAC;YACtB,IAAI,IAAY,CAAC;YAEjB,yEAAyE;YACzE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEtD,8BAA8B;YAC9B,MAAM,IAAI,MAAM,CAAC;YAEjB,gDAAgD;YAChD,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,CAAC;YAE3B,+CAA+C;YAC/C,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC;YAE5B,6CAA6C;YAC7C,QAAO,QAAQ,EAAE,CAAC;gBAEhB,KAAK,QAAQ,CAAC,MAAM;oBAElB,yBAAyB;oBACzB,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBAE5C,6BAA6B;oBAC7B,KAAK,GAAG,CAAC,CAAC;oBAEV,iCAAiC;oBACjC,MAAM,IAAI,IAAI,CAAC;oBAEf,MAAM;gBAER,KAAK,QAAQ,CAAC,OAAO;oBAEnB,sCAAsC;oBACtC,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAEpC,0BAA0B;oBAC1B,MAAM,IAAI,CAAC,CAAC;oBAEZ,MAAM;gBAER,KAAK,QAAQ,CAAC,gBAAgB;oBAE5B,sCAAsC;oBACtC,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBAEhD,kCAAkC;oBAClC,MAAM,IAAI,MAAM,CAAC;oBAEjB,4CAA4C;oBAC5C,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC;oBAE9C,6CAA6C;oBAC7C,MAAM,IAAI,GAAG,CAAC;oBAEd,MAAM;gBAER,KAAK,QAAQ,CAAC,OAAO;oBAEnB,qEAAqE;oBACrE,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;oBAE5C,yBAAyB;oBACzB,MAAM,IAAI,CAAC,CAAC;oBAEZ,MAAM;gBAER;oBAEE,sEAAsE;oBACtE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC;oBAEzD,OAAO,MAAM,CAAC;YAClB,CAAC;YAED,wDAAwD;YACxD,IAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAErB,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACxB,CAAC;YAED,2CAA2C;YAC3C,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,6DAA6D;QAC7D,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -2,7 +2,7 @@ import type { PlatformAccessory } from "homebridge";
2
2
  import { type HomebridgePluginLogging } from "homebridge-plugin-utils";
3
3
  import { type RatgdoDevice } from "./ratgdo-types.js";
4
4
  import type { RatgdoPlatform } from "./ratgdo-platform.js";
5
- interface EspHomeEvent {
5
+ export interface EspHomeEvent {
6
6
  current_operation?: string;
7
7
  id: string;
8
8
  name?: string;
@@ -10,6 +10,33 @@ interface EspHomeEvent {
10
10
  state: string;
11
11
  value?: string;
12
12
  }
13
+ interface RatgdoHints {
14
+ automationDimmer: boolean;
15
+ automationSwitch: boolean;
16
+ discoBattery: boolean;
17
+ discoLaserSwitch: boolean;
18
+ discoLedSwitch: boolean;
19
+ discoVehicleArriving: boolean;
20
+ discoVehicleLeaving: boolean;
21
+ discoVehiclePresence: boolean;
22
+ doorOpenOccupancyDuration: number;
23
+ doorOpenOccupancySensor: boolean;
24
+ konnectedPcwSwitch: boolean;
25
+ konnectedStrobeSwitch: boolean;
26
+ light: boolean;
27
+ lock: boolean;
28
+ lockoutSwitch: boolean;
29
+ logLight: boolean;
30
+ logMotion: boolean;
31
+ logObstruction: boolean;
32
+ logOpener: boolean;
33
+ logVehiclePresence: boolean;
34
+ motionOccupancyDuration: number;
35
+ motionOccupancySensor: boolean;
36
+ motionSensor: boolean;
37
+ readOnly: boolean;
38
+ showBatteryInfo: boolean;
39
+ }
13
40
  export declare class RatgdoAccessory {
14
41
  private readonly accessory;
15
42
  private readonly api;
@@ -17,7 +44,7 @@ export declare class RatgdoAccessory {
17
44
  readonly device: RatgdoDevice;
18
45
  private doorOccupancyTimer;
19
46
  private readonly hap;
20
- private readonly hints;
47
+ readonly hints: RatgdoHints;
21
48
  readonly log: HomebridgePluginLogging;
22
49
  private motionOccupancyTimer;
23
50
  private motionTimer;
@@ -46,6 +73,7 @@ export declare class RatgdoAccessory {
46
73
  private configureDoorOpenOccupancySensor;
47
74
  private configureMotionOccupancySensor;
48
75
  private setDoorState;
76
+ refresh(): void;
49
77
  updateState(event: EspHomeEvent): void;
50
78
  private command;
51
79
  private translateCurrentDoorState;
@@ -1,4 +1,4 @@
1
- import { acquireService, validService, validateName } from "homebridge-plugin-utils";
1
+ import { acquireService, sanitizeName, validService } from "homebridge-plugin-utils";
2
2
  import { RATGDO_MOTION_DURATION, RATGDO_OCCUPANCY_DURATION } from "./settings.js";
3
3
  import { RatgdoReservedNames, RatgdoVariant } from "./ratgdo-types.js";
4
4
  import util from "node:util";
@@ -193,7 +193,7 @@ export class RatgdoAccessory {
193
193
  // Configure the garage door service for HomeKit.
194
194
  configureGarageDoor() {
195
195
  // Acquire the service.
196
- const service = acquireService(this.hap, this.accessory, this.hap.Service.GarageDoorOpener, this.name);
196
+ const service = acquireService(this.accessory, this.hap.Service.GarageDoorOpener, this.name);
197
197
  if (!service) {
198
198
  this.log.error("Unable to add the garage door.");
199
199
  return false;
@@ -211,9 +211,8 @@ export class RatgdoAccessory {
211
211
  service.getCharacteristic(this.hap.Characteristic.ObstructionDetected).onGet(() => this.status.obstruction === true);
212
212
  // Configure the lock garage door lock current and target state characteristics if the user has enabled it.
213
213
  if (this.hints.lock) {
214
- service.getCharacteristic(this.hap.Characteristic.LockTargetState).onSet(async (value) => {
215
- this.log.debug("User-initiated wireless remote %s requested.", (value === this.hap.Characteristic.LockTargetState.SECURED) ? "lock" : "unlock");
216
- if (!(await this.command("lock", (value === this.hap.Characteristic.LockTargetState.SECURED) ? "lock" : "unlock"))) {
214
+ service.getCharacteristic(this.hap.Characteristic.LockTargetState).onSet((value) => {
215
+ if (!this.command("lock", (value === this.hap.Characteristic.LockTargetState.SECURED) ? "lock" : "unlock")) {
217
216
  // Something went wrong. Let's make sure we revert the lock to it's prior state.
218
217
  setTimeout(() => {
219
218
  service?.updateCharacteristic(this.hap.Characteristic.LockTargetState, this.lockTargetStateBias(this.status.lock));
@@ -240,7 +239,7 @@ export class RatgdoAccessory {
240
239
  return false;
241
240
  }
242
241
  // Acquire the service.
243
- const service = acquireService(this.hap, this.accessory, this.hap.Service.Lightbulb, this.name, undefined, () => this.log.info("Enabling light."));
242
+ const service = acquireService(this.accessory, this.hap.Service.Lightbulb, this.name, undefined, () => this.log.info("Enabling light."));
244
243
  if (!service) {
245
244
  this.log.error("Unable to add the light.");
246
245
  return false;
@@ -249,7 +248,7 @@ export class RatgdoAccessory {
249
248
  service.updateCharacteristic(this.hap.Characteristic.On, this.status.light);
250
249
  // Turn the light on or off.
251
250
  service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.light);
252
- service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => void this.command("light", value === true ? "on" : "off"));
251
+ service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => this.command("light", value === true ? "on" : "off"));
253
252
  return true;
254
253
  }
255
254
  // Configure the motion sensor for HomeKit.
@@ -259,7 +258,7 @@ export class RatgdoAccessory {
259
258
  return false;
260
259
  }
261
260
  // Acquire the service.
262
- const service = acquireService(this.hap, this.accessory, this.hap.Service.MotionSensor, this.name, undefined, () => this.log.info("Enabling motion sensor."));
261
+ const service = acquireService(this.accessory, this.hap.Service.MotionSensor, this.name, undefined, () => this.log.info("Enabling motion sensor."));
263
262
  if (!service) {
264
263
  this.log.error("Unable to add the motion sensor.");
265
264
  return false;
@@ -277,7 +276,7 @@ export class RatgdoAccessory {
277
276
  return false;
278
277
  }
279
278
  // Acquire the service.
280
- const service = acquireService(this.hap, this.accessory, this.hap.Service.Lightbulb, this.name + " Automation Door Position", RatgdoReservedNames.DIMMER_OPENER_AUTOMATION);
279
+ const service = acquireService(this.accessory, this.hap.Service.Lightbulb, this.name + " Automation Door Position", RatgdoReservedNames.DIMMER_OPENER_AUTOMATION);
281
280
  if (!service) {
282
281
  this.log.error("Unable to add the automation door position dimmer.");
283
282
  return false;
@@ -323,7 +322,7 @@ export class RatgdoAccessory {
323
322
  return false;
324
323
  }
325
324
  // Acquire the service.
326
- const service = acquireService(this.hap, this.accessory, this.hap.Service.Switch, this.name + " Automation Opener", RatgdoReservedNames.SWITCH_OPENER_AUTOMATION);
325
+ const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Automation Opener", RatgdoReservedNames.SWITCH_OPENER_AUTOMATION);
327
326
  if (!service) {
328
327
  this.log.error("Unable to add the automation door opener switch.");
329
328
  return false;
@@ -354,7 +353,7 @@ export class RatgdoAccessory {
354
353
  return false;
355
354
  }
356
355
  // Acquire the service.
357
- const service = acquireService(this.hap, this.accessory, this.hap.Service.Battery, this.name);
356
+ const service = acquireService(this.accessory, this.hap.Service.Battery, this.name);
358
357
  if (!service) {
359
358
  this.log.error("Unable to add the Ratgdo (ESP32) Disco backup battery status.");
360
359
  return false;
@@ -373,7 +372,7 @@ export class RatgdoAccessory {
373
372
  return false;
374
373
  }
375
374
  // Acquire the service.
376
- const service = acquireService(this.hap, this.accessory, this.hap.Service.Switch, this.name + " Laser", RatgdoReservedNames.SWITCH_DISCO_LASER);
375
+ const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Laser", RatgdoReservedNames.SWITCH_DISCO_LASER);
377
376
  if (!service) {
378
377
  this.log.error("Unable to add the Ratgdo (ESP32) Disco laser switch.");
379
378
  return false;
@@ -381,7 +380,7 @@ export class RatgdoAccessory {
381
380
  // Return the current state of the switch.
382
381
  service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.discoLaser);
383
382
  // Open or close the switch.
384
- service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => void this.command("disco-laser", value === true ? "on" : "off"));
383
+ service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => this.command("disco-laser", value === true ? "on" : "off"));
385
384
  // Initialize the switch.
386
385
  service.updateCharacteristic(this.hap.Characteristic.On, this.status.discoLaser);
387
386
  this.log.info("Enabling the Ratgdo (ESP32) Disco parking assistance laser switch.");
@@ -394,7 +393,7 @@ export class RatgdoAccessory {
394
393
  return false;
395
394
  }
396
395
  // Acquire the service.
397
- const service = acquireService(this.hap, this.accessory, this.hap.Service.Switch, this.name + " LED", RatgdoReservedNames.SWITCH_DISCO_LED);
396
+ const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " LED", RatgdoReservedNames.SWITCH_DISCO_LED);
398
397
  if (!service) {
399
398
  this.log.error("Unable to add the Ratgdo (ESP32) Disco LED switch.");
400
399
  return false;
@@ -402,7 +401,7 @@ export class RatgdoAccessory {
402
401
  // Return the current state of the switch.
403
402
  service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.discoLed);
404
403
  // Open or close the switch.
405
- service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => void this.command("disco-led", value === true ? "on" : "off"));
404
+ service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => this.command("disco-led", value === true ? "on" : "off"));
406
405
  // Initialize the switch.
407
406
  service.updateCharacteristic(this.hap.Characteristic.On, this.status.discoLed);
408
407
  this.log.info("Enabling the Ratgdo (ESP32) Disco LED switch.");
@@ -415,7 +414,7 @@ export class RatgdoAccessory {
415
414
  return false;
416
415
  }
417
416
  // Acquire the service.
418
- const service = acquireService(this.hap, this.accessory, this.hap.Service.ContactSensor, this.name + " Vehicle Arriving", RatgdoReservedNames.CONTACT_DISCO_VEHICLE_ARRIVING);
417
+ const service = acquireService(this.accessory, this.hap.Service.ContactSensor, this.name + " Vehicle Arriving", RatgdoReservedNames.CONTACT_DISCO_VEHICLE_ARRIVING);
419
418
  if (!service) {
420
419
  this.log.error("Unable to add the vehicle arriving contact sensor.");
421
420
  return false;
@@ -434,7 +433,7 @@ export class RatgdoAccessory {
434
433
  return false;
435
434
  }
436
435
  // Acquire the service.
437
- const service = acquireService(this.hap, this.accessory, this.hap.Service.ContactSensor, this.name + " Vehicle Leaving", RatgdoReservedNames.CONTACT_DISCO_VEHICLE_LEAVING);
436
+ const service = acquireService(this.accessory, this.hap.Service.ContactSensor, this.name + " Vehicle Leaving", RatgdoReservedNames.CONTACT_DISCO_VEHICLE_LEAVING);
438
437
  if (!service) {
439
438
  this.log.error("Unable to add the vehicle leaving contact sensor.");
440
439
  return false;
@@ -453,7 +452,7 @@ export class RatgdoAccessory {
453
452
  return false;
454
453
  }
455
454
  // Acquire the service.
456
- const service = acquireService(this.hap, this.accessory, this.hap.Service.OccupancySensor, this.name + " Vehicle Presence", RatgdoReservedNames.OCCUPANCY_DISCO_VEHICLE_PRESENCE);
455
+ const service = acquireService(this.accessory, this.hap.Service.OccupancySensor, this.name + " Vehicle Presence", RatgdoReservedNames.OCCUPANCY_DISCO_VEHICLE_PRESENCE);
457
456
  if (!service) {
458
457
  this.log.error("Unable to add the vehicle presence occupancy sensor.");
459
458
  return false;
@@ -472,7 +471,7 @@ export class RatgdoAccessory {
472
471
  return false;
473
472
  }
474
473
  // Acquire the service.
475
- const service = acquireService(this.hap, this.accessory, this.hap.Service.Switch, this.name + " Pre Close Warning", RatgdoReservedNames.SWITCH_KONNECTED_PCW);
474
+ const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Pre Close Warning", RatgdoReservedNames.SWITCH_KONNECTED_PCW);
476
475
  if (!service) {
477
476
  this.log.error("Unable to add the Konnected pre-close warning switch.");
478
477
  return false;
@@ -480,11 +479,11 @@ export class RatgdoAccessory {
480
479
  // Return the current state of the switch.
481
480
  service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => false);
482
481
  // Open or close the switch.
483
- service.getCharacteristic(this.hap.Characteristic.On)?.onSet(async (value) => {
482
+ service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => {
484
483
  // Default to reseting our switch state after the pre-close warning has completed playing.
485
484
  let resetTimer = 5000;
486
485
  // Send the command.
487
- if (!(await this.command("konnected-pcw"))) {
486
+ if (!this.command("konnected-pcw")) {
488
487
  // Something went wrong. Let's make sure we revert the switch to it's prior state immediately.
489
488
  resetTimer = 50;
490
489
  }
@@ -503,7 +502,7 @@ export class RatgdoAccessory {
503
502
  return false;
504
503
  }
505
504
  // Acquire the service.
506
- const service = acquireService(this.hap, this.accessory, this.hap.Service.Switch, this.name + " Strobe", RatgdoReservedNames.SWITCH_KONNECTED_STROBE);
505
+ const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Strobe", RatgdoReservedNames.SWITCH_KONNECTED_STROBE);
507
506
  if (!service) {
508
507
  this.log.error("Unable to add the Konnected strobe switch.");
509
508
  return false;
@@ -511,7 +510,7 @@ export class RatgdoAccessory {
511
510
  // Return the current state of the switch.
512
511
  service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.konnectedStrobe);
513
512
  // Open or close the switch.
514
- service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => void this.command("konnected-strobe", value === true ? "on" : "off"));
513
+ service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => this.command("konnected-strobe", value === true ? "on" : "off"));
515
514
  // Initialize the switch.
516
515
  service.updateCharacteristic(this.hap.Characteristic.On, this.status.konnectedStrobe);
517
516
  this.log.info("Enabling the Konnected strobe switch.");
@@ -524,7 +523,7 @@ export class RatgdoAccessory {
524
523
  return false;
525
524
  }
526
525
  // Acquire the service.
527
- const service = acquireService(this.hap, this.accessory, this.hap.Service.Switch, this.name + " Lockout", RatgdoReservedNames.SWITCH_LOCKOUT);
526
+ const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Lockout", RatgdoReservedNames.SWITCH_LOCKOUT);
528
527
  if (!service) {
529
528
  this.log.error("Unable to add the automation wireless remote lockout switch.");
530
529
  return false;
@@ -532,11 +531,11 @@ export class RatgdoAccessory {
532
531
  // Return the current state of the opener. We're on if we are in any state other than locked.
533
532
  service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.lock === this.hap.Characteristic.LockCurrentState.SECURED);
534
533
  // Lock or unlock the wireless remotes.
535
- service.getCharacteristic(this.hap.Characteristic.On)?.onSet(async (value) => {
534
+ service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => {
536
535
  // Inform the user.
537
536
  this.log.info("Automation wireless remote lockout switch: remotes are %s.", value ? "locked out" : "permitted");
538
537
  // Send the command.
539
- if (!(await this.command("lock", value ? "lock" : "unlock"))) {
538
+ if (!this.command("lock", value ? "lock" : "unlock")) {
540
539
  // Something went wrong. Let's make sure we revert the switch to it's prior state.
541
540
  setTimeout(() => service?.updateCharacteristic(this.hap.Characteristic.On, !value), 50);
542
541
  }
@@ -553,7 +552,7 @@ export class RatgdoAccessory {
553
552
  return false;
554
553
  }
555
554
  // Acquire the service.
556
- const service = acquireService(this.hap, this.accessory, this.hap.Service.OccupancySensor, this.name + " Open", RatgdoReservedNames.OCCUPANCY_SENSOR_DOOR_OPEN);
555
+ const service = acquireService(this.accessory, this.hap.Service.OccupancySensor, this.name + " Open", RatgdoReservedNames.OCCUPANCY_SENSOR_DOOR_OPEN);
557
556
  if (!service) {
558
557
  this.log.error("Unable to add the door open occupancy sensor.");
559
558
  return false;
@@ -572,7 +571,7 @@ export class RatgdoAccessory {
572
571
  return false;
573
572
  }
574
573
  // Acquire the service.
575
- const service = acquireService(this.hap, this.accessory, this.hap.Service.OccupancySensor, this.name, RatgdoReservedNames.OCCUPANCY_SENSOR_MOTION);
574
+ const service = acquireService(this.accessory, this.hap.Service.OccupancySensor, this.name, RatgdoReservedNames.OCCUPANCY_SENSOR_MOTION);
576
575
  if (!service) {
577
576
  this.log.error("Unable to add the occupancy sensor.");
578
577
  return false;
@@ -607,17 +606,21 @@ export class RatgdoAccessory {
607
606
  if ((this.status.door === this.hap.Characteristic.CurrentDoorState.OPENING) || (this.status.door === this.hap.Characteristic.CurrentDoorState.CLOSING)) {
608
607
  this.log.debug("User-initiated stop requested while transitioning between open and close states.");
609
608
  // Execute the stop command.
610
- void this.command("door", "stop");
609
+ this.command("door", "stop");
611
610
  return true;
612
611
  }
613
612
  // Set the door state, assuming we're not already there.
614
613
  if (this.status.door !== value) {
615
614
  this.log.debug("User-initiated door state change: %s%s.", this.translateTargetDoorState(value), (position !== undefined) ? " (" + position.toString() + "%)" : "");
616
615
  // Execute the command.
617
- void this.command("door", targetAction, position);
616
+ this.command("door", targetAction, position);
618
617
  }
619
618
  return true;
620
619
  }
620
+ // Refresh our state.
621
+ refresh() {
622
+ this.command("refresh");
623
+ }
621
624
  // Update the state of the accessory.
622
625
  updateState(event) {
623
626
  const camelCase = (text) => text.charAt(0).toUpperCase() + text.slice(1);
@@ -939,21 +942,17 @@ export class RatgdoAccessory {
939
942
  }
940
943
  }
941
944
  // Utility function to transmit a command to Ratgdo.
942
- async command(topic, payload = "", position) {
945
+ command(topic, payload = "", position) {
943
946
  // Now we handle ESPHome firmware commands.
944
- let endpoint;
945
947
  let action;
946
948
  switch (topic) {
947
949
  case "disco-laser":
948
- endpoint = "switch/laser";
949
- action = (payload === "on") ? "turn_on" : "turn_off";
950
+ this.platform.espHomeApi[this.device.mac].sendSwitchCommand("switch-laser", payload === "on");
950
951
  break;
951
952
  case "disco-led":
952
- endpoint = "switch/led";
953
- action = (payload === "on") ? "turn_on" : "turn_off";
953
+ this.platform.espHomeApi[this.device.mac].sendSwitchCommand("switch-led", payload === "on");
954
954
  break;
955
955
  case "door":
956
- endpoint = (this.device.variant === RatgdoVariant.KONNECTED) ? "cover/garage_door" : "cover/door";
957
956
  switch (payload) {
958
957
  case "closed":
959
958
  action = "close";
@@ -967,70 +966,39 @@ export class RatgdoAccessory {
967
966
  this.log.error("Invalid door set command received: no position specified.");
968
967
  return false;
969
968
  }
970
- action = "set?position=" + (position / 100).toString();
969
+ action = "set";
971
970
  break;
972
971
  default:
973
972
  this.log.error("Unknown door command received: %s.", payload);
974
973
  return false;
975
974
  }
975
+ // Set the door position to the requested percentage.
976
+ if (position !== undefined) {
977
+ this.platform.espHomeApi[this.device.mac].sendCoverCommand("cover-" + ((this.device.variant === RatgdoVariant.KONNECTED) ? "garage_door" : "door"), { position: position / 100 });
978
+ return true;
979
+ }
980
+ // Execute the command.
981
+ this.platform.espHomeApi[this.device.mac].sendCoverCommand("cover-" + ((this.device.variant === RatgdoVariant.KONNECTED) ? "garage_door" : "door"), { command: action });
976
982
  break;
977
983
  case "konnected-pcw":
978
- endpoint = "button/pre-close_warning";
979
- action = "press";
984
+ this.platform.espHomeApi[this.device.mac].sendButtonCommand("button-pre-close_warning");
980
985
  break;
981
986
  case "konnected-strobe":
982
- endpoint = "switch/str_output";
983
- action = (payload === "on") ? "turn_on" : "turn_off";
987
+ this.platform.espHomeApi[this.device.mac].sendSwitchCommand("switch-str_output", payload === "on");
984
988
  break;
985
989
  case "light":
986
- endpoint = (this.device.variant === RatgdoVariant.KONNECTED) ? "light/garage_light" : "light/light";
987
- action = (payload === "on") ? "turn_on" : "turn_off";
990
+ this.platform.espHomeApi[this.device.mac].sendLightCommand("light-" + ((this.device.variant === RatgdoVariant.KONNECTED) ? "garage_light" : "light"), { state: payload === "on" });
988
991
  break;
989
992
  case "lock":
990
- endpoint = (this.device.variant === RatgdoVariant.KONNECTED) ? "lock/lock" : "lock/lock_remotes";
991
- action = (payload === "lock") ? "lock" : "unlock";
993
+ this.platform.espHomeApi[this.device.mac].sendLockCommand("lock-" + ((this.device.variant === RatgdoVariant.KONNECTED) ? "lock" : "lock_remotes"), (payload === "lock") ? "lock" : "unlock");
992
994
  break;
993
995
  case "refresh":
994
- endpoint = "button/query_status";
995
- action = "press";
996
+ this.platform.espHomeApi[this.device.mac].sendButtonCommand("button-query_status");
996
997
  break;
997
998
  default:
998
999
  this.log.error("Unknown command received: %s - %s.", topic, payload);
999
1000
  return false;
1000
1001
  }
1001
- try {
1002
- // Execute the action.
1003
- const response = await fetch("http://" + this.device.address + "/" + endpoint + "/" + action, { body: JSON.stringify({}), method: "POST" });
1004
- if (!response?.ok) {
1005
- this.log.error("Unable to execute command: %s - %s.", topic, action);
1006
- return false;
1007
- }
1008
- }
1009
- catch (error) {
1010
- let errorMessage = "\n" + util.inspect(error, { colors: true, depth: null, sorted: true });
1011
- if (error instanceof TypeError) {
1012
- switch (error.cause?.code) {
1013
- case "ECONNRESET":
1014
- errorMessage = "Connection to the Ratgdo controller has been reset";
1015
- break;
1016
- case "EHOSTDOWN":
1017
- errorMessage = "Connection to the Ratgdo controller has been reset";
1018
- break;
1019
- case "ETIMEDOUT":
1020
- case "UND_ERR_BODY_TIMEOUT":
1021
- case "UND_ERR_CONNECT_TIMEOUT":
1022
- case "UND_ERR_HEADERS_TIMEOUT":
1023
- errorMessage = "Connection to the Ratgdo controller has timed out";
1024
- break;
1025
- default:
1026
- errorMessage = " " + error.cause?.code + " (errno: " + error.cause?.errno?.toString() + ")\n" +
1027
- util.inspect(error.cause, { depth: null, sorted: true });
1028
- break;
1029
- }
1030
- }
1031
- this.log.error("Ratgdo API error sending command:%s", errorMessage);
1032
- return false;
1033
- }
1034
1002
  return true;
1035
1003
  }
1036
1004
  // Utility function to translate HomeKit's current door state values into human-readable form.
@@ -1139,7 +1107,7 @@ export class RatgdoAccessory {
1139
1107
  }
1140
1108
  // Utility function to set the current accessory name of this device.
1141
1109
  set accessoryName(name) {
1142
- const cleanedName = validateName(name);
1110
+ const cleanedName = sanitizeName(name);
1143
1111
  // Set all the internally managed names within Homebridge to the new accessory name.
1144
1112
  this.accessory.displayName = cleanedName;
1145
1113
  this.accessory._associatedHAPAccessory.displayName = cleanedName;