@headspace/protos-events 1.484.0 → 1.486.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.
- package/lib/index.d.ts +104 -1
- package/lib/index.js +248 -0
- package/package.json +1 -1
package/lib/index.d.ts
CHANGED
|
@@ -192,7 +192,8 @@ export namespace auth0 {
|
|
|
192
192
|
HEADSPACE_E2E_NO_SEATS_OKTA_SSO = 32,
|
|
193
193
|
DELOITTE_UK_AZURE_SSO = 33,
|
|
194
194
|
CVENT_OKTA_SSO = 34,
|
|
195
|
-
FLOCKSAFETY_OKTA_SSO = 35
|
|
195
|
+
FLOCKSAFETY_OKTA_SSO = 35,
|
|
196
|
+
WABTEC_OKTA_SSO = 36
|
|
196
197
|
}
|
|
197
198
|
|
|
198
199
|
/** ConnectionType enum. */
|
|
@@ -30384,6 +30385,108 @@ export class EligibleUserRemoved implements IEligibleUserRemoved {
|
|
|
30384
30385
|
public toJSON(): { [k: string]: any };
|
|
30385
30386
|
}
|
|
30386
30387
|
|
|
30388
|
+
/** Properties of an EligibleUserPurged. */
|
|
30389
|
+
export interface IEligibleUserPurged {
|
|
30390
|
+
|
|
30391
|
+
/** EligibleUserPurged workEmail */
|
|
30392
|
+
workEmail?: (string|null);
|
|
30393
|
+
|
|
30394
|
+
/** EligibleUserPurged b2bOrgId */
|
|
30395
|
+
b2bOrgId?: (number|null);
|
|
30396
|
+
|
|
30397
|
+
/** EligibleUserPurged timestamp */
|
|
30398
|
+
timestamp?: (number|Long|null);
|
|
30399
|
+
}
|
|
30400
|
+
|
|
30401
|
+
/** Represents an EligibleUserPurged. */
|
|
30402
|
+
export class EligibleUserPurged implements IEligibleUserPurged {
|
|
30403
|
+
|
|
30404
|
+
/**
|
|
30405
|
+
* Constructs a new EligibleUserPurged.
|
|
30406
|
+
* @param [properties] Properties to set
|
|
30407
|
+
*/
|
|
30408
|
+
constructor(properties?: IEligibleUserPurged);
|
|
30409
|
+
|
|
30410
|
+
/** EligibleUserPurged workEmail. */
|
|
30411
|
+
public workEmail: string;
|
|
30412
|
+
|
|
30413
|
+
/** EligibleUserPurged b2bOrgId. */
|
|
30414
|
+
public b2bOrgId: number;
|
|
30415
|
+
|
|
30416
|
+
/** EligibleUserPurged timestamp. */
|
|
30417
|
+
public timestamp: (number|Long);
|
|
30418
|
+
|
|
30419
|
+
/**
|
|
30420
|
+
* Creates a new EligibleUserPurged instance using the specified properties.
|
|
30421
|
+
* @param [properties] Properties to set
|
|
30422
|
+
* @returns EligibleUserPurged instance
|
|
30423
|
+
*/
|
|
30424
|
+
public static create(properties?: IEligibleUserPurged): EligibleUserPurged;
|
|
30425
|
+
|
|
30426
|
+
/**
|
|
30427
|
+
* Encodes the specified EligibleUserPurged message. Does not implicitly {@link EligibleUserPurged.verify|verify} messages.
|
|
30428
|
+
* @param message EligibleUserPurged message or plain object to encode
|
|
30429
|
+
* @param [writer] Writer to encode to
|
|
30430
|
+
* @returns Writer
|
|
30431
|
+
*/
|
|
30432
|
+
public static encode(message: IEligibleUserPurged, writer?: $protobuf.Writer): $protobuf.Writer;
|
|
30433
|
+
|
|
30434
|
+
/**
|
|
30435
|
+
* Encodes the specified EligibleUserPurged message, length delimited. Does not implicitly {@link EligibleUserPurged.verify|verify} messages.
|
|
30436
|
+
* @param message EligibleUserPurged message or plain object to encode
|
|
30437
|
+
* @param [writer] Writer to encode to
|
|
30438
|
+
* @returns Writer
|
|
30439
|
+
*/
|
|
30440
|
+
public static encodeDelimited(message: IEligibleUserPurged, writer?: $protobuf.Writer): $protobuf.Writer;
|
|
30441
|
+
|
|
30442
|
+
/**
|
|
30443
|
+
* Decodes an EligibleUserPurged message from the specified reader or buffer.
|
|
30444
|
+
* @param reader Reader or buffer to decode from
|
|
30445
|
+
* @param [length] Message length if known beforehand
|
|
30446
|
+
* @returns EligibleUserPurged
|
|
30447
|
+
* @throws {Error} If the payload is not a reader or valid buffer
|
|
30448
|
+
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
|
30449
|
+
*/
|
|
30450
|
+
public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): EligibleUserPurged;
|
|
30451
|
+
|
|
30452
|
+
/**
|
|
30453
|
+
* Decodes an EligibleUserPurged message from the specified reader or buffer, length delimited.
|
|
30454
|
+
* @param reader Reader or buffer to decode from
|
|
30455
|
+
* @returns EligibleUserPurged
|
|
30456
|
+
* @throws {Error} If the payload is not a reader or valid buffer
|
|
30457
|
+
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
|
30458
|
+
*/
|
|
30459
|
+
public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): EligibleUserPurged;
|
|
30460
|
+
|
|
30461
|
+
/**
|
|
30462
|
+
* Verifies an EligibleUserPurged message.
|
|
30463
|
+
* @param message Plain object to verify
|
|
30464
|
+
* @returns `null` if valid, otherwise the reason why it is not
|
|
30465
|
+
*/
|
|
30466
|
+
public static verify(message: { [k: string]: any }): (string|null);
|
|
30467
|
+
|
|
30468
|
+
/**
|
|
30469
|
+
* Creates an EligibleUserPurged message from a plain object. Also converts values to their respective internal types.
|
|
30470
|
+
* @param object Plain object
|
|
30471
|
+
* @returns EligibleUserPurged
|
|
30472
|
+
*/
|
|
30473
|
+
public static fromObject(object: { [k: string]: any }): EligibleUserPurged;
|
|
30474
|
+
|
|
30475
|
+
/**
|
|
30476
|
+
* Creates a plain object from an EligibleUserPurged message. Also converts values to other types if specified.
|
|
30477
|
+
* @param message EligibleUserPurged
|
|
30478
|
+
* @param [options] Conversion options
|
|
30479
|
+
* @returns Plain object
|
|
30480
|
+
*/
|
|
30481
|
+
public static toObject(message: EligibleUserPurged, options?: $protobuf.IConversionOptions): { [k: string]: any };
|
|
30482
|
+
|
|
30483
|
+
/**
|
|
30484
|
+
* Converts this EligibleUserPurged to JSON.
|
|
30485
|
+
* @returns JSON object
|
|
30486
|
+
*/
|
|
30487
|
+
public toJSON(): { [k: string]: any };
|
|
30488
|
+
}
|
|
30489
|
+
|
|
30387
30490
|
/** Properties of an EligibleUserAmended. */
|
|
30388
30491
|
export interface IEligibleUserAmended {
|
|
30389
30492
|
|
package/lib/index.js
CHANGED
|
@@ -411,6 +411,7 @@ $root.auth0 = (function() {
|
|
|
411
411
|
* @property {number} DELOITTE_UK_AZURE_SSO=33 DELOITTE_UK_AZURE_SSO value
|
|
412
412
|
* @property {number} CVENT_OKTA_SSO=34 CVENT_OKTA_SSO value
|
|
413
413
|
* @property {number} FLOCKSAFETY_OKTA_SSO=35 FLOCKSAFETY_OKTA_SSO value
|
|
414
|
+
* @property {number} WABTEC_OKTA_SSO=36 WABTEC_OKTA_SSO value
|
|
414
415
|
*/
|
|
415
416
|
connections.Connection = (function() {
|
|
416
417
|
var valuesById = {}, values = Object.create(valuesById);
|
|
@@ -449,6 +450,7 @@ $root.auth0 = (function() {
|
|
|
449
450
|
values[valuesById[33] = "DELOITTE_UK_AZURE_SSO"] = 33;
|
|
450
451
|
values[valuesById[34] = "CVENT_OKTA_SSO"] = 34;
|
|
451
452
|
values[valuesById[35] = "FLOCKSAFETY_OKTA_SSO"] = 35;
|
|
453
|
+
values[valuesById[36] = "WABTEC_OKTA_SSO"] = 36;
|
|
452
454
|
return values;
|
|
453
455
|
})();
|
|
454
456
|
|
|
@@ -84478,6 +84480,252 @@ $root.EligibleUserRemoved = (function() {
|
|
|
84478
84480
|
return EligibleUserRemoved;
|
|
84479
84481
|
})();
|
|
84480
84482
|
|
|
84483
|
+
$root.EligibleUserPurged = (function() {
|
|
84484
|
+
|
|
84485
|
+
/**
|
|
84486
|
+
* Properties of an EligibleUserPurged.
|
|
84487
|
+
* @name IEligibleUserPurged
|
|
84488
|
+
* @interface IEligibleUserPurged
|
|
84489
|
+
* @property {string|null} [workEmail] EligibleUserPurged workEmail
|
|
84490
|
+
* @property {number|null} [b2bOrgId] EligibleUserPurged b2bOrgId
|
|
84491
|
+
* @property {number|Long|null} [timestamp] EligibleUserPurged timestamp
|
|
84492
|
+
*/
|
|
84493
|
+
|
|
84494
|
+
/**
|
|
84495
|
+
* Constructs a new EligibleUserPurged.
|
|
84496
|
+
* @name EligibleUserPurged
|
|
84497
|
+
* @classdesc Represents an EligibleUserPurged.
|
|
84498
|
+
* @implements IEligibleUserPurged
|
|
84499
|
+
* @constructor
|
|
84500
|
+
* @param {IEligibleUserPurged=} [properties] Properties to set
|
|
84501
|
+
*/
|
|
84502
|
+
function EligibleUserPurged(properties) {
|
|
84503
|
+
if (properties)
|
|
84504
|
+
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
|
|
84505
|
+
if (properties[keys[i]] != null)
|
|
84506
|
+
this[keys[i]] = properties[keys[i]];
|
|
84507
|
+
}
|
|
84508
|
+
|
|
84509
|
+
/**
|
|
84510
|
+
* EligibleUserPurged workEmail.
|
|
84511
|
+
* @member {string} workEmail
|
|
84512
|
+
* @memberof EligibleUserPurged
|
|
84513
|
+
* @instance
|
|
84514
|
+
*/
|
|
84515
|
+
EligibleUserPurged.prototype.workEmail = "";
|
|
84516
|
+
|
|
84517
|
+
/**
|
|
84518
|
+
* EligibleUserPurged b2bOrgId.
|
|
84519
|
+
* @member {number} b2bOrgId
|
|
84520
|
+
* @memberof EligibleUserPurged
|
|
84521
|
+
* @instance
|
|
84522
|
+
*/
|
|
84523
|
+
EligibleUserPurged.prototype.b2bOrgId = 0;
|
|
84524
|
+
|
|
84525
|
+
/**
|
|
84526
|
+
* EligibleUserPurged timestamp.
|
|
84527
|
+
* @member {number|Long} timestamp
|
|
84528
|
+
* @memberof EligibleUserPurged
|
|
84529
|
+
* @instance
|
|
84530
|
+
*/
|
|
84531
|
+
EligibleUserPurged.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
|
|
84532
|
+
|
|
84533
|
+
/**
|
|
84534
|
+
* Creates a new EligibleUserPurged instance using the specified properties.
|
|
84535
|
+
* @function create
|
|
84536
|
+
* @memberof EligibleUserPurged
|
|
84537
|
+
* @static
|
|
84538
|
+
* @param {IEligibleUserPurged=} [properties] Properties to set
|
|
84539
|
+
* @returns {EligibleUserPurged} EligibleUserPurged instance
|
|
84540
|
+
*/
|
|
84541
|
+
EligibleUserPurged.create = function create(properties) {
|
|
84542
|
+
return new EligibleUserPurged(properties);
|
|
84543
|
+
};
|
|
84544
|
+
|
|
84545
|
+
/**
|
|
84546
|
+
* Encodes the specified EligibleUserPurged message. Does not implicitly {@link EligibleUserPurged.verify|verify} messages.
|
|
84547
|
+
* @function encode
|
|
84548
|
+
* @memberof EligibleUserPurged
|
|
84549
|
+
* @static
|
|
84550
|
+
* @param {IEligibleUserPurged} message EligibleUserPurged message or plain object to encode
|
|
84551
|
+
* @param {$protobuf.Writer} [writer] Writer to encode to
|
|
84552
|
+
* @returns {$protobuf.Writer} Writer
|
|
84553
|
+
*/
|
|
84554
|
+
EligibleUserPurged.encode = function encode(message, writer) {
|
|
84555
|
+
if (!writer)
|
|
84556
|
+
writer = $Writer.create();
|
|
84557
|
+
if (message.workEmail != null && message.hasOwnProperty("workEmail"))
|
|
84558
|
+
writer.uint32(/* id 1, wireType 2 =*/10).string(message.workEmail);
|
|
84559
|
+
if (message.b2bOrgId != null && message.hasOwnProperty("b2bOrgId"))
|
|
84560
|
+
writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.b2bOrgId);
|
|
84561
|
+
if (message.timestamp != null && message.hasOwnProperty("timestamp"))
|
|
84562
|
+
writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.timestamp);
|
|
84563
|
+
return writer;
|
|
84564
|
+
};
|
|
84565
|
+
|
|
84566
|
+
/**
|
|
84567
|
+
* Encodes the specified EligibleUserPurged message, length delimited. Does not implicitly {@link EligibleUserPurged.verify|verify} messages.
|
|
84568
|
+
* @function encodeDelimited
|
|
84569
|
+
* @memberof EligibleUserPurged
|
|
84570
|
+
* @static
|
|
84571
|
+
* @param {IEligibleUserPurged} message EligibleUserPurged message or plain object to encode
|
|
84572
|
+
* @param {$protobuf.Writer} [writer] Writer to encode to
|
|
84573
|
+
* @returns {$protobuf.Writer} Writer
|
|
84574
|
+
*/
|
|
84575
|
+
EligibleUserPurged.encodeDelimited = function encodeDelimited(message, writer) {
|
|
84576
|
+
return this.encode(message, writer).ldelim();
|
|
84577
|
+
};
|
|
84578
|
+
|
|
84579
|
+
/**
|
|
84580
|
+
* Decodes an EligibleUserPurged message from the specified reader or buffer.
|
|
84581
|
+
* @function decode
|
|
84582
|
+
* @memberof EligibleUserPurged
|
|
84583
|
+
* @static
|
|
84584
|
+
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
|
|
84585
|
+
* @param {number} [length] Message length if known beforehand
|
|
84586
|
+
* @returns {EligibleUserPurged} EligibleUserPurged
|
|
84587
|
+
* @throws {Error} If the payload is not a reader or valid buffer
|
|
84588
|
+
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
|
84589
|
+
*/
|
|
84590
|
+
EligibleUserPurged.decode = function decode(reader, length) {
|
|
84591
|
+
if (!(reader instanceof $Reader))
|
|
84592
|
+
reader = $Reader.create(reader);
|
|
84593
|
+
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.EligibleUserPurged();
|
|
84594
|
+
while (reader.pos < end) {
|
|
84595
|
+
var tag = reader.uint32();
|
|
84596
|
+
switch (tag >>> 3) {
|
|
84597
|
+
case 1:
|
|
84598
|
+
message.workEmail = reader.string();
|
|
84599
|
+
break;
|
|
84600
|
+
case 2:
|
|
84601
|
+
message.b2bOrgId = reader.uint32();
|
|
84602
|
+
break;
|
|
84603
|
+
case 3:
|
|
84604
|
+
message.timestamp = reader.uint64();
|
|
84605
|
+
break;
|
|
84606
|
+
default:
|
|
84607
|
+
reader.skipType(tag & 7);
|
|
84608
|
+
break;
|
|
84609
|
+
}
|
|
84610
|
+
}
|
|
84611
|
+
return message;
|
|
84612
|
+
};
|
|
84613
|
+
|
|
84614
|
+
/**
|
|
84615
|
+
* Decodes an EligibleUserPurged message from the specified reader or buffer, length delimited.
|
|
84616
|
+
* @function decodeDelimited
|
|
84617
|
+
* @memberof EligibleUserPurged
|
|
84618
|
+
* @static
|
|
84619
|
+
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
|
|
84620
|
+
* @returns {EligibleUserPurged} EligibleUserPurged
|
|
84621
|
+
* @throws {Error} If the payload is not a reader or valid buffer
|
|
84622
|
+
* @throws {$protobuf.util.ProtocolError} If required fields are missing
|
|
84623
|
+
*/
|
|
84624
|
+
EligibleUserPurged.decodeDelimited = function decodeDelimited(reader) {
|
|
84625
|
+
if (!(reader instanceof $Reader))
|
|
84626
|
+
reader = new $Reader(reader);
|
|
84627
|
+
return this.decode(reader, reader.uint32());
|
|
84628
|
+
};
|
|
84629
|
+
|
|
84630
|
+
/**
|
|
84631
|
+
* Verifies an EligibleUserPurged message.
|
|
84632
|
+
* @function verify
|
|
84633
|
+
* @memberof EligibleUserPurged
|
|
84634
|
+
* @static
|
|
84635
|
+
* @param {Object.<string,*>} message Plain object to verify
|
|
84636
|
+
* @returns {string|null} `null` if valid, otherwise the reason why it is not
|
|
84637
|
+
*/
|
|
84638
|
+
EligibleUserPurged.verify = function verify(message) {
|
|
84639
|
+
if (typeof message !== "object" || message === null)
|
|
84640
|
+
return "object expected";
|
|
84641
|
+
if (message.workEmail != null && message.hasOwnProperty("workEmail"))
|
|
84642
|
+
if (!$util.isString(message.workEmail))
|
|
84643
|
+
return "workEmail: string expected";
|
|
84644
|
+
if (message.b2bOrgId != null && message.hasOwnProperty("b2bOrgId"))
|
|
84645
|
+
if (!$util.isInteger(message.b2bOrgId))
|
|
84646
|
+
return "b2bOrgId: integer expected";
|
|
84647
|
+
if (message.timestamp != null && message.hasOwnProperty("timestamp"))
|
|
84648
|
+
if (!$util.isInteger(message.timestamp) && !(message.timestamp && $util.isInteger(message.timestamp.low) && $util.isInteger(message.timestamp.high)))
|
|
84649
|
+
return "timestamp: integer|Long expected";
|
|
84650
|
+
return null;
|
|
84651
|
+
};
|
|
84652
|
+
|
|
84653
|
+
/**
|
|
84654
|
+
* Creates an EligibleUserPurged message from a plain object. Also converts values to their respective internal types.
|
|
84655
|
+
* @function fromObject
|
|
84656
|
+
* @memberof EligibleUserPurged
|
|
84657
|
+
* @static
|
|
84658
|
+
* @param {Object.<string,*>} object Plain object
|
|
84659
|
+
* @returns {EligibleUserPurged} EligibleUserPurged
|
|
84660
|
+
*/
|
|
84661
|
+
EligibleUserPurged.fromObject = function fromObject(object) {
|
|
84662
|
+
if (object instanceof $root.EligibleUserPurged)
|
|
84663
|
+
return object;
|
|
84664
|
+
var message = new $root.EligibleUserPurged();
|
|
84665
|
+
if (object.workEmail != null)
|
|
84666
|
+
message.workEmail = String(object.workEmail);
|
|
84667
|
+
if (object.b2bOrgId != null)
|
|
84668
|
+
message.b2bOrgId = object.b2bOrgId >>> 0;
|
|
84669
|
+
if (object.timestamp != null)
|
|
84670
|
+
if ($util.Long)
|
|
84671
|
+
(message.timestamp = $util.Long.fromValue(object.timestamp)).unsigned = true;
|
|
84672
|
+
else if (typeof object.timestamp === "string")
|
|
84673
|
+
message.timestamp = parseInt(object.timestamp, 10);
|
|
84674
|
+
else if (typeof object.timestamp === "number")
|
|
84675
|
+
message.timestamp = object.timestamp;
|
|
84676
|
+
else if (typeof object.timestamp === "object")
|
|
84677
|
+
message.timestamp = new $util.LongBits(object.timestamp.low >>> 0, object.timestamp.high >>> 0).toNumber(true);
|
|
84678
|
+
return message;
|
|
84679
|
+
};
|
|
84680
|
+
|
|
84681
|
+
/**
|
|
84682
|
+
* Creates a plain object from an EligibleUserPurged message. Also converts values to other types if specified.
|
|
84683
|
+
* @function toObject
|
|
84684
|
+
* @memberof EligibleUserPurged
|
|
84685
|
+
* @static
|
|
84686
|
+
* @param {EligibleUserPurged} message EligibleUserPurged
|
|
84687
|
+
* @param {$protobuf.IConversionOptions} [options] Conversion options
|
|
84688
|
+
* @returns {Object.<string,*>} Plain object
|
|
84689
|
+
*/
|
|
84690
|
+
EligibleUserPurged.toObject = function toObject(message, options) {
|
|
84691
|
+
if (!options)
|
|
84692
|
+
options = {};
|
|
84693
|
+
var object = {};
|
|
84694
|
+
if (options.defaults) {
|
|
84695
|
+
object.workEmail = "";
|
|
84696
|
+
object.b2bOrgId = 0;
|
|
84697
|
+
if ($util.Long) {
|
|
84698
|
+
var long = new $util.Long(0, 0, true);
|
|
84699
|
+
object.timestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
|
|
84700
|
+
} else
|
|
84701
|
+
object.timestamp = options.longs === String ? "0" : 0;
|
|
84702
|
+
}
|
|
84703
|
+
if (message.workEmail != null && message.hasOwnProperty("workEmail"))
|
|
84704
|
+
object.workEmail = message.workEmail;
|
|
84705
|
+
if (message.b2bOrgId != null && message.hasOwnProperty("b2bOrgId"))
|
|
84706
|
+
object.b2bOrgId = message.b2bOrgId;
|
|
84707
|
+
if (message.timestamp != null && message.hasOwnProperty("timestamp"))
|
|
84708
|
+
if (typeof message.timestamp === "number")
|
|
84709
|
+
object.timestamp = options.longs === String ? String(message.timestamp) : message.timestamp;
|
|
84710
|
+
else
|
|
84711
|
+
object.timestamp = options.longs === String ? $util.Long.prototype.toString.call(message.timestamp) : options.longs === Number ? new $util.LongBits(message.timestamp.low >>> 0, message.timestamp.high >>> 0).toNumber(true) : message.timestamp;
|
|
84712
|
+
return object;
|
|
84713
|
+
};
|
|
84714
|
+
|
|
84715
|
+
/**
|
|
84716
|
+
* Converts this EligibleUserPurged to JSON.
|
|
84717
|
+
* @function toJSON
|
|
84718
|
+
* @memberof EligibleUserPurged
|
|
84719
|
+
* @instance
|
|
84720
|
+
* @returns {Object.<string,*>} JSON object
|
|
84721
|
+
*/
|
|
84722
|
+
EligibleUserPurged.prototype.toJSON = function toJSON() {
|
|
84723
|
+
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
|
|
84724
|
+
};
|
|
84725
|
+
|
|
84726
|
+
return EligibleUserPurged;
|
|
84727
|
+
})();
|
|
84728
|
+
|
|
84481
84729
|
$root.EligibleUserAmended = (function() {
|
|
84482
84730
|
|
|
84483
84731
|
/**
|
package/package.json
CHANGED