var ipCodec=function(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decode=function(e,t,r){if(t=~~t,(r=r||e.length-t)===o.size)return o.decode(e,t,r);if(r===n.size)return n.decode(e,t,r);throw Error(`Invalid buffer size needs to be ${o.size} for v4 or ${n.size} for v6.`)},e.encode=function(e,t,r){r=~~r;const d=i(e);"function"===typeof t&&(t=t(r+d));if(d===o.size)return o.encode(e,t,r);return n.encode(e,t,r)},e.familyOf=function(e){return i(e)===o.size?1:2},e.name=void 0,e.sizeOf=i,e.v6=e.v4=void 0;const t=/^(\d{1,3}\.){3,3}\d{1,3}$/,r=/^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i,o={name:"v4",size:4,isFormat:e=>t.test(e),encode(e,t,r){r=~~r,t=t||new Uint8Array(r+4);const o=e.length;let n=0;for(let i=0;i(t=~~t,`${e[t++]}.${e[t++]}.${e[t++]}.${e[t]}`)};e.v4=o;const n={name:"v6",size:16,isFormat:e=>e.length>0&&r.test(e),encode(e,t,r){let o=(r=~~r)+16,n=-1,i=0,d=0,f=!0,c=!1;t=t||new Uint8Array(r+16);for(let s=0;s>8),r=97?u-=87:u>=65?u-=55:(u-=48,d=10*d+u),i=(i<<4)+u)}if(!1===f)!0===c?(r>8),r=n+2;e--)t[e]=t[e-2];t[n]=0,t[n+1]=0,n=r}if(n!==r&&-1!==n)for(r>o-2&&(r=o-2);o>n;)t[--o]=rn?t[--r]:0;else for(;r