text:
<?xml version="1.0" encoding="utf-8"?>
<QuesterProfile Author="Arasal" DevelopmentStatus="Untested">
  <Questers />
  <Quests>
    <Quest>
      <Name>The Corruption of the Jadefire</Name>
      <RaceMask>18875469</RaceMask>
      <Id>27997</Id>
      <QuestLevel>45</QuestLevel>
      <MinLevel>47</MinLevel>
      <MaxLevel>55</MaxLevel>
      <PickUp>10923</PickUp>
      <TurnIn>10923</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>11554</NpcEntry>
          <QuestName>A Talking Totem</QuestName>
          <QuestId>28100</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>10921</NpcEntry>
          <QuestName>Culling the Corrupted</QuestName>
          <QuestId>28148</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>206585</NpcEntry>
          <QuestName>A Talking Totem</QuestName>
          <QuestId>28100</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>206585</NpcEntry>
          <QuestName>Ruumbo Demands Justice</QuestName>
          <QuestId>27994</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>206585</NpcEntry>
          <QuestName>Ruumbo Demands Honey</QuestName>
          <QuestId>27989</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28148</InternalQuestId>
          <Entry>
            <int>8959</int>
            <int>8956</int>
          </Entry>
          <CollectItemId>1</CollectItemId>
          <CollectCount>10</CollectCount>
          <Hotspots>
            <Point>
              <X>3833.442</X>
              <Y>-1325.35</Y>
              <Z>204.1054</Z>
            </Point>
            <Point>
              <X>3625.141</X>
              <Y>-1479.974</Y>
              <Z>178.588</Z>
            </Point>
            <Point>
              <X>3721.715</X>
              <Y>-1547.538</Y>
              <Z>201.065</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>CSharpScript</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>27989</InternalQuestId>
          <Count>10</Count>
          <Entry>
            <int>47308</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>3833.98975</X>
              <Y>-1301.553</Y>
              <Z>207.9303</Z>
            </Point>
            <Point>
              <X>3731.437</X>
              <Y>-1168.09644</Y>
              <Z>209.262543</Z>
            </Point>
          </Hotspots>
          <Script>=UseItemWithHotSpots.cs</Script>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <IgnoreNotSelectable>true</IgnoreNotSelectable>
          <UseItemId>62819</UseItemId>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>27994</InternalQuestId>
          <Count>15</Count>
          <Entry>
            <int>7154</int>
            <int>7153</int>
            <int>7155</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>3724.935</X>
              <Y>-1110.317</Y>
              <Z>212.0028</Z>
            </Point>
            <Point>
              <X>3610.223</X>
              <Y>-1034.405</Y>
              <Z>222.7638</Z>
            </Point>
            <Point>
              <X>3587.678</X>
              <Y>-1166.762</Y>
              <Z>220.1286</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <Count>12</Count>
          <Entry>
            <int>7105</int>
            <int>7109</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>3837.792</X>
              <Y>-820.0784</Y>
              <Z>292.3413</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>206585</NpcEntry>
          <QuestName>Ruumbo Demands Honey</QuestName>
          <QuestId>27989</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>206585</NpcEntry>
          <QuestName>Ruumbo Demands Justice</QuestName>
          <QuestId>27994</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>206585</NpcEntry>
          <QuestName>Dance for Ruumbo!</QuestName>
          <QuestId>27995</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>Wait</Objective>
          <ScriptConditionIsComplete>return nManager.Wow.Helpers.Quest.GetLogQuestIsComplete(27995) || nManager.Wow.Helpers.Quest.GetQuestCompleted(27995);</ScriptConditionIsComplete>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <WaitMs>18000</WaitMs>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>11554</NpcEntry>
          <QuestName>Dance for Ruumbo!</QuestName>
          <QuestId>27995</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>10921</NpcEntry>
          <QuestName>Culling the Corrupted</QuestName>
          <QuestId>28148</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>10923</NpcEntry>
          <QuestName>The Corruption of the Jadefire</QuestName>
          <QuestId>27997</QuestId>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>An Arcane Ally</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28150</Id>
      <QuestLevel>46</QuestLevel>
      <MinLevel>43</MinLevel>
      <MaxLevel>56</MaxLevel>
      <NeedQuestCompletedId>
        <int>27997</int>
      </NeedQuestCompletedId>
      <PickUp>10923</PickUp>
      <TurnIn>47341</TurnIn>
      <Objectives />
    </Quest>
    <Quest>
      <Name>Forces of Jaedenar</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28121</Id>
      <QuestLevel>46</QuestLevel>
      <MinLevel>43</MinLevel>
      <MaxLevel>56</MaxLevel>
      <NeedQuestCompletedId>
        <int>28150</int>
      </NeedQuestCompletedId>
      <PickUp>11019</PickUp>
      <TurnIn>11019</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>10922</NpcEntry>
          <QuestName>Crying Violet</QuestName>
          <QuestId>28116</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpObject</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28116</InternalQuestId>
          <Entry>
            <int>206706</int>
          </Entry>
          <CollectItemId>1</CollectItemId>
          <CollectCount>8</CollectCount>
          <Hotspots>
            <Point>
              <X>4787.079</X>
              <Y>-518.231</Y>
              <Z>320.8595</Z>
            </Point>
            <Point>
              <X>4830.666</X>
              <Y>-377.4581</Y>
              <Z>350.185</Z>
            </Point>
          </Hotspots>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <Count>12</Count>
          <Entry>
            <int>7113</int>
            <int>7125</int>
            <int>7115</int>
            <int>7112</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>4860.565</X>
              <Y>-643.2023</Y>
              <Z>306.3703</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>51664</NpcEntry>
          <QuestName>Crying Violet</QuestName>
          <QuestId>28116</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>51664</NpcEntry>
          <QuestName>Forces of Jaedenar</QuestName>
          <QuestId>28121</QuestId>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>Purity From Corruption</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28119</Id>
      <QuestLevel>46</QuestLevel>
      <MinLevel>43</MinLevel>
      <MaxLevel>56</MaxLevel>
      <NeedQuestCompletedId>
        <int>28121</int>
      </NeedQuestCompletedId>
      <PickUp>51664</PickUp>
      <TurnIn>51664</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>UseItem</Objective>
          <InternalIndex>1</InternalIndex>
          <Count>1</Count>
          <UseItemId>12922</UseItemId>
          <Position>
            <X>4842.984</X>
            <Y>-381.1196</Y>
            <Z>350.5431</Z>
          </Position>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>The Inner Circle</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28128</Id>
      <QuestLevel>46</QuestLevel>
      <MinLevel>43</MinLevel>
      <MaxLevel>56</MaxLevel>
      <NeedQuestCompletedId>
        <int>28119</int>
      </NeedQuestCompletedId>
      <PickUp>51664</PickUp>
      <TurnIn>51664</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <NpcEntry>51664</NpcEntry>
          <QuestName>Dousing the Flames of Protection</QuestName>
          <QuestId>28126</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <NpcEntry>51664</NpcEntry>
          <QuestName>The Demon Prince</QuestName>
          <QuestId>28129</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>InteractWith</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28126</InternalQuestId>
          <Count>1</Count>
          <Entry>
            <int>176158</int>
          </Entry>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <Position>
            <X>4978.925</X>
            <Y>-442.1682</Y>
            <Z>315.6168</Z>
          </Position>
          <WaitMs>1000</WaitMs>
        </QuestObjective>
        <QuestObjective>
          <Objective>InteractWith</Objective>
          <InternalIndex>4</InternalIndex>
          <InternalQuestId>28126</InternalQuestId>
          <Count>1</Count>
          <Entry>
            <int>176161</int>
          </Entry>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <Position>
            <X>5017.083</X>
            <Y>-456.7692</Y>
            <Z>321.5145</Z>
          </Position>
          <WaitMs>1000</WaitMs>
        </QuestObjective>
        <QuestObjective>
          <Objective>InteractWith</Objective>
          <InternalIndex>3</InternalIndex>
          <InternalQuestId>28126</InternalQuestId>
          <Count>1</Count>
          <Entry>
            <int>176160</int>
          </Entry>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <Position>
            <X>5094.213</X>
            <Y>-471.3241</Y>
            <Z>297.5706</Z>
          </Position>
          <WaitMs>1000</WaitMs>
        </QuestObjective>
        <QuestObjective>
          <Objective>InteractWith</Objective>
          <InternalIndex>2</InternalIndex>
          <InternalQuestId>28126</InternalQuestId>
          <Count>1</Count>
          <Entry>
            <int>176159</int>
          </Entry>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <Position>
            <X>5114.841</X>
            <Y>-519.5934</Y>
            <Z>296.0921</Z>
          </Position>
          <WaitMs>1000</WaitMs>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <Count>12</Count>
          <Entry>
            <int>7126</int>
            <int>7118</int>
            <int>7114</int>
            <int>7120</int>
            <int>9862</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>5030.141</X>
              <Y>-476.3186</Y>
              <Z>317.9922</Z>
            </Point>
            <Point>
              <X>5122.44043</X>
              <Y>-452.578156</Y>
              <Z>295.32312</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28129</InternalQuestId>
          <Count>1</Count>
          <Entry>
            <int>9877</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>4972.991</X>
              <Y>-434.217</Y>
              <Z>325.0314</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>2</InternalIndex>
          <InternalQuestId>28131</InternalQuestId>
          <Count>1</Count>
          <Entry>
            <int>9860</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>5190.483</X>
              <Y>-531.8085</Y>
              <Z>290.3314</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28131</InternalQuestId>
          <Count>1</Count>
          <Entry>
            <int>9861</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>5190.483</X>
              <Y>-531.8085</Y>
              <Z>290.3314</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28153</InternalQuestId>
          <Count>1</Count>
          <Entry>
            <int>9517</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>5336.646</X>
              <Y>-608.6716</Y>
              <Z>246.4714</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>51664</NpcEntry>
          <QuestName>Lord Banehollow</QuestName>
          <QuestId>28155</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28155</InternalQuestId>
          <Count>1</Count>
          <Entry>
            <int>9516</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>5351.537</X>
              <Y>-540.5964</Y>
              <Z>274.114</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>47617</NpcEntry>
          <QuestName>Lord Banehollow</QuestName>
          <QuestId>28155</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>10922</NpcEntry>
          <QuestName>Dousing the Flames of Protection</QuestName>
          <QuestId>28126</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>11019</NpcEntry>
          <QuestName>The Inner Circle</QuestName>
          <QuestId>28128</QuestId>
        </QuestObjective>
      </Objectives>
      <AutoComplete>
        <int>28129</int>
        <int>28131</int>
        <int>28153</int>
      </AutoComplete>
      <AutoAccept>
        <int>28131</int>
        <int>28153</int>
        <int>28155</int>
      </AutoAccept>
    </Quest>
    <Quest>
      <Name>The Fate of Bloodvenom Post</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28305</Id>
      <QuestLevel>48</QuestLevel>
      <MinLevel>45</MinLevel>
      <MaxLevel>58</MaxLevel>
      <NeedQuestCompletedId>
        <int>28128</int>
      </NeedQuestCompletedId>
      <PickUp>47617</PickUp>
      <TurnIn>47696</TurnIn>
      <Objectives />
    </Quest>
    <Quest>
      <Name>A Slimy Situation</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28207</Id>
      <QuestLevel>47</QuestLevel>
      <MinLevel>44</MinLevel>
      <MaxLevel>57</MaxLevel>
      <NeedQuestCompletedId>
        <int>28305</int>
      </NeedQuestCompletedId>
      <PickUp>47696</PickUp>
      <TurnIn>47696</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <NpcEntry>47692</NpcEntry>
          <QuestName>The Tainted Ooze</QuestName>
          <QuestId>28190</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28190</InternalQuestId>
          <Count>8</Count>
          <Entry>
            <int>7092</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>5094.144</X>
              <Y>-641.6086</Y>
              <Z>310.5016</Z>
            </Point>
            <Point>
              <X>5257.271</X>
              <Y>-632.322</Y>
              <Z>323.4735</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpObject</Objective>
          <InternalIndex>1</InternalIndex>
          <Entry>
            <int>206764</int>
          </Entry>
          <CollectItemId>1</CollectItemId>
          <CollectCount>7</CollectCount>
          <Hotspots>
            <Point>
              <X>5041.079</X>
              <Y>-627.8947</Y>
              <Z>292.7176</Z>
            </Point>
            <Point>
              <X>5257.271</X>
              <Y>-632.322</Y>
              <Z>323.4735</Z>
            </Point>
            <Point>
              <X>5313.759</X>
              <Y>-731.4578</Y>
              <Z>342.1139</Z>
            </Point>
          </Hotspots>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>47692</NpcEntry>
          <QuestName>The Tainted Ooze</QuestName>
          <QuestId>28190</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>47696</NpcEntry>
          <QuestName>A Slimy Situation</QuestName>
          <QuestId>28207</QuestId>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>Winna's Kitten</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28208</Id>
      <QuestLevel>47</QuestLevel>
      <MinLevel>44</MinLevel>
      <MaxLevel>57</MaxLevel>
      <NeedQuestCompletedId>
        <int>28207</int>
      </NeedQuestCompletedId>
      <PickUp>47696</PickUp>
      <TurnIn>47696</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <Entry>
            <int>47687</int>
          </Entry>
          <CollectItemId>1</CollectItemId>
          <CollectCount>1</CollectCount>
          <Hotspots>
            <Point>
              <X>5064.704</X>
              <Y>-542.3946</Y>
              <Z>335.6778</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>Hazzard Disposal</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28213</Id>
      <QuestLevel>47</QuestLevel>
      <MinLevel>44</MinLevel>
      <MaxLevel>57</MaxLevel>
      <NeedQuestCompletedId>
        <int>28208</int>
      </NeedQuestCompletedId>
      <PickUp>47696</PickUp>
      <TurnIn>47696</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <NpcEntry>47692</NpcEntry>
          <QuestName>Cleanup at Bloodvenom Post</QuestName>
          <QuestId>28214</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28214</InternalQuestId>
          <Count>6</Count>
          <Entry>
            <int>47675</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>5222.008</X>
              <Y>-529.699</Y>
              <Z>329.1856</Z>
            </Point>
            <Point>
              <X>5184.962</X>
              <Y>-355.4323</Y>
              <Z>334.0557</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>UseItem</Objective>
          <Count>1</Count>
          <Entry>
            <int>47679</int>
          </Entry>
          <ScriptConditionIsComplete>return  ObjectManager.GetNearestWoWUnit(ObjectManager.GetWoWUnitByEntry(47679, false), false,true,false).IsValid && ObjectManager.GetNearestWoWUnit(ObjectManager.GetWoWUnitByEntry(47679, false), false,true,false).Attackable || nManager.Wow.Helpers.Quest.GetLogQuestIsComplete(28213) || nManager.Wow.Helpers.Quest.GetQuestCompleted(28213);</ScriptConditionIsComplete>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <UseItemId>63284</UseItemId>
          <Position>
            <X>5117.431</X>
            <Y>-352.0028</Y>
            <Z>356.9969</Z>
          </Position>
          <Range>10</Range>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <Count>1</Count>
          <Entry>
            <int>47679</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>5113.337</X>
              <Y>-353.8818</Y>
              <Z>357.1841</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>47692</NpcEntry>
          <QuestName>Cleanup at Bloodvenom Post</QuestName>
          <QuestId>28214</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>47696</NpcEntry>
          <QuestName>Hazzard Disposal</QuestName>
          <QuestId>28213</QuestId>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>Whisperwind Grove</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28306</Id>
      <QuestLevel>47</QuestLevel>
      <MinLevel>44</MinLevel>
      <MaxLevel>57</MaxLevel>
      <NeedQuestCompletedId>
        <int>28213</int>
      </NeedQuestCompletedId>
      <PickUp>47696</PickUp>
      <TurnIn>48459</TurnIn>
      <Objectives />
    </Quest>
    <Quest>
      <Name>Running Their Course</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28360</Id>
      <QuestLevel>48</QuestLevel>
      <MinLevel>45</MinLevel>
      <MaxLevel>58</MaxLevel>
      <NeedQuestCompletedId>
        <int>28306</int>
      </NeedQuestCompletedId>
      <PickUp>48459</PickUp>
      <TurnIn>48459</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <NpcEntry>48459</NpcEntry>
          <QuestName>Squirrely Clean</QuestName>
          <QuestId>28361</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpNPC</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28361</InternalQuestId>
          <Count>6</Count>
          <Entry>
            <int>48457</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>5848.131</X>
              <Y>-968.4634</Y>
              <Z>412.7887</Z>
            </Point>
            <Point>
              <X>5904.84</X>
              <Y>-1070.329</Y>
              <Z>409.8992</Z>
            </Point>
          </Hotspots>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <WaitMs>3000</WaitMs>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <Count>8</Count>
          <Entry>
            <int>48455</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>5884.188</X>
              <Y>-919.9272</Y>
              <Z>412.1082</Z>
            </Point>
            <Point>
              <X>5904.84</X>
              <Y>-1070.329</Y>
              <Z>409.8992</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>48459</NpcEntry>
          <QuestName>Squirrely Clean</QuestName>
          <QuestId>28361</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>48459</NpcEntry>
          <QuestName>Running Their Course</QuestName>
          <QuestId>28360</QuestId>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>Weeding the Lawn</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28374</Id>
      <QuestLevel>48</QuestLevel>
      <MinLevel>45</MinLevel>
      <MaxLevel>58</MaxLevel>
      <NeedQuestCompletedId>
        <int>28360</int>
      </NeedQuestCompletedId>
      <PickUp>48459</PickUp>
      <TurnIn>48459</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>PickUpNPC</Objective>
          <InternalIndex>1</InternalIndex>
          <Count>7</Count>
          <Entry>
            <int>47747</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>5978.669</X>
              <Y>-875.1476</Y>
              <Z>412.228</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>Collecting Corruption</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28341</Id>
      <QuestLevel>48</QuestLevel>
      <MinLevel>45</MinLevel>
      <MaxLevel>58</MaxLevel>
      <NeedQuestCompletedId>
        <int>28374</int>
      </NeedQuestCompletedId>
      <PickUp>48339</PickUp>
      <TurnIn>48339</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <NpcEntry>48339</NpcEntry>
          <QuestName>Fel To Pieces</QuestName>
          <QuestId>28342</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <NpcEntry>48349</NpcEntry>
          <QuestName>Hunting the Damned</QuestName>
          <QuestId>28358</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <NpcEntry>48349</NpcEntry>
          <QuestName>The Core of Kroshius</QuestName>
          <QuestId>28359</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28359</InternalQuestId>
          <Entry>
            <int>48344</int>
          </Entry>
          <CollectItemId>1</CollectItemId>
          <CollectCount>1</CollectCount>
          <Hotspots>
            <Point>
              <X>5628.585</X>
              <Y>-1101.972</Y>
              <Z>381.0718</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <Entry>
            <int>9879</int>
          </Entry>
          <CollectItemId>1</CollectItemId>
          <CollectCount>8</CollectCount>
          <Hotspots>
            <Point>
              <X>5617.964</X>
              <Y>-1054.878</Y>
              <Z>377.0305</Z>
            </Point>
            <Point>
              <X>5532.738</X>
              <Y>-940.1184</Y>
              <Z>375.3083</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28358</InternalQuestId>
          <Count>6</Count>
          <Entry>
            <int>7136</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>5656.11</X>
              <Y>-940.8535</Y>
              <Z>377.6118</Z>
            </Point>
            <Point>
              <X>5528.661</X>
              <Y>-902.6602</Y>
              <Z>376.1908</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpObject</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28342</InternalQuestId>
          <Entry>
            <int>206852</int>
          </Entry>
          <CollectItemId>1</CollectItemId>
          <CollectCount>9</CollectCount>
          <Hotspots>
            <Point>
              <X>5638.219</X>
              <Y>-950.8211</Y>
              <Z>374.3622</Z>
            </Point>
            <Point>
              <X>5569.049</X>
              <Y>-902.0612</Y>
              <Z>378.7332</Z>
            </Point>
          </Hotspots>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>48339</NpcEntry>
          <QuestName>Fel To Pieces</QuestName>
          <QuestId>28342</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>48349</NpcEntry>
          <QuestName>Hunting the Damned</QuestName>
          <QuestId>28358</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>48349</NpcEntry>
          <QuestName>The Core of Kroshius</QuestName>
          <QuestId>28359</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>48339</NpcEntry>
          <QuestName>Collecting Corruption</QuestName>
          <QuestId>28341</QuestId>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>Wanted: The Demon Hunter</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28217</Id>
      <QuestLevel>48</QuestLevel>
      <MinLevel>45</MinLevel>
      <MaxLevel>58</MaxLevel>
      <NeedQuestCompletedId>
        <int>28341</int>
      </NeedQuestCompletedId>
      <PickUp>47843</PickUp>
      <TurnIn>47923</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <NpcEntry>48126</NpcEntry>
          <QuestName>Nature and Nurture</QuestName>
          <QuestId>28229</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>UseItem</Objective>
          <InternalQuestId>28229</InternalQuestId>
          <Count>1</Count>
          <ScriptConditionIsComplete>return nManager.Wow.Helpers.Quest.GetLogQuestIsComplete(28229) || nManager.Wow.Helpers.Quest.GetQuestCompleted(28229) || nManager.Wow.Helpers.ItemsManager.GetItemCount(63387) > 0;</ScriptConditionIsComplete>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <UseItemId>63332</UseItemId>
          <Position>
            <X>6089.626</X>
            <Y>-871.1673</Y>
            <Z>411.4464</Z>
          </Position>
          <Range>3</Range>
        </QuestObjective>
        <QuestObjective>
          <Objective>UseItem</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28229</InternalQuestId>
          <Count>1</Count>
          <ScriptConditionIsComplete>return nManager.Wow.Helpers.Quest.GetLogQuestIsComplete(28229) || nManager.Wow.Helpers.Quest.GetQuestCompleted(28229);</ScriptConditionIsComplete>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <UseItemId>63387</UseItemId>
          <Position>
            <X>6219.607</X>
            <Y>-1153.734</Y>
            <Z>383.4373</Z>
          </Position>
          <WaitMs>3000</WaitMs>
          <Range>3</Range>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>48032</NpcEntry>
          <QuestName>Buzzers for Baby</QuestName>
          <QuestId>28219</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28219</InternalQuestId>
          <Count>10</Count>
          <Entry>
            <int>48038</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>6113.144</X>
              <Y>-1181.738</Y>
              <Z>372.5891</Z>
            </Point>
            <Point>
              <X>6059.514</X>
              <Y>-1251.212</Y>
              <Z>379.3902</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>Wait</Objective>
          <ScriptConditionIsComplete>return nManager.Wow.Helpers.Quest.GetLogQuestId().Contains(28220) || nManager.Wow.Helpers.Quest.GetLogQuestIsComplete(28220) || nManager.Wow.Helpers.Quest.GetQuestCompleted(28220);</ScriptConditionIsComplete>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <WaitMs>1000</WaitMs>
        </QuestObjective>
        <QuestObjective>
          <Objective>CSharpScript</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28220</InternalQuestId>
          <Count>7</Count>
          <Entry>
            <int>206963</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>6115.83057</X>
              <Y>-1127.13123</Y>
              <Z>375.898682</Z>
            </Point>
            <Point>
              <X>6020.925</X>
              <Y>-1135.97461</Y>
              <Z>380.6633</Z>
            </Point>
            <Point>
              <X>5994.04346</X>
              <Y>-1204.56641</Y>
              <Z>377.7861</Z>
            </Point>
          </Hotspots>
          <Script>=InteractWithHotSpots.cs</Script>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <IgnoreNotSelectable>true</IgnoreNotSelectable>
          <WaitMs>1000</WaitMs>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>48032</NpcEntry>
          <QuestName>Seeking Soil</QuestName>
          <QuestId>28220</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>48042</NpcEntry>
          <QuestName>These Roots Were Made For Stompin'</QuestName>
          <QuestId>28221</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>48042</NpcEntry>
          <QuestName>Singin' in the Sun</QuestName>
          <QuestId>28222</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>CSharpScript</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28222</InternalQuestId>
          <Count>5</Count>
          <Entry>
            <int>207063</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>6340.52344</X>
              <Y>-1248.15857</Y>
              <Z>373.3479</Z>
            </Point>
            <Point>
              <X>6360.809</X>
              <Y>-1320.312</Y>
              <Z>375.918335</Z>
            </Point>
            <Point>
              <X>6205.147</X>
              <Y>-1314.99524</Y>
              <Z>375.2009</Z>
            </Point>
          </Hotspots>
          <Script>=InteractWithHotSpots.cs</Script>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <IgnoreNotSelectable>true</IgnoreNotSelectable>
          <WaitMs>1000</WaitMs>
          <Range>0</Range>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28221</InternalQuestId>
          <Count>10</Count>
          <Entry>
            <int>7139</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>6318.885</X>
              <Y>-1164.426</Y>
              <Z>372.6504</Z>
            </Point>
            <Point>
              <X>6348.567</X>
              <Y>-1283.338</Y>
              <Z>374.9956</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>48044</NpcEntry>
          <QuestName>The Last Protector</QuestName>
          <QuestId>28224</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28224</InternalQuestId>
          <Count>1</Count>
          <Entry>
            <int>7149</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>6248.427</X>
              <Y>-1379.466</Y>
              <Z>374.474</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>48044</NpcEntry>
          <QuestName>Rejoining the Forest</QuestName>
          <QuestId>28228</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>MoveTo</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28228</InternalQuestId>
          <Count>1</Count>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <Position>
            <X>6220.421</X>
            <Y>-1153.092</Y>
            <Z>383.4328</Z>
          </Position>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpNPC</Objective>
          <Count>1</Count>
          <Entry>
            <int>47923</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>6421.139</X>
              <Y>-967.9221</Y>
              <Z>423.1493</Z>
            </Point>
          </Hotspots>
          <ScriptConditionIsComplete>return nManager.Wow.Helpers.Quest.GetLogQuestIsComplete(28217) || nManager.Wow.Helpers.Quest.GetQuestCompleted(28217);</ScriptConditionIsComplete>
          <WaitMs>5000</WaitMs>
          <GossipOptionsInteractWith>1</GossipOptionsInteractWith>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <Count>1</Count>
          <Entry>
            <int>47923</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>6417.699</X>
              <Y>-974.7393</Y>
              <Z>423.6284</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreBlackList>true</IgnoreBlackList>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>47923</NpcEntry>
          <QuestName>Wanted: The Demon Hunter</QuestName>
          <QuestId>28217</QuestId>
        </QuestObjective>
      </Objectives>
      <AutoComplete>
        <int>28229</int>
        <int>28220</int>
        <int>28219</int>
        <int>28221</int>
        <int>28222</int>
        <int>28224</int>
      </AutoComplete>
      <AutoAccept>
        <int>28220</int>
        <int>28224</int>
      </AutoAccept>
    </Quest>
    <Quest>
      <Name>A Destiny of Flame and Sorrow</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28218</Id>
      <QuestLevel>48</QuestLevel>
      <MinLevel>45</MinLevel>
      <MaxLevel>58</MaxLevel>
      <NeedQuestCompletedId>
        <int>28217</int>
      </NeedQuestCompletedId>
      <PickUp>47923</PickUp>
      <TurnIn>47923</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>CSharpScript</Objective>
          <Entry>
            <int>47733</int>
          </Entry>
          <Script>=28218.cs</Script>
          <WaitMs>2000</WaitMs>
          <Range>0</Range>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>47923</NpcEntry>
          <QuestName>A Destiny of Flame and Sorrow</QuestName>
          <QuestId>28218</QuestId>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>The Skull of Gul'dan</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28256</Id>
      <QuestLevel>48</QuestLevel>
      <MinLevel>45</MinLevel>
      <MaxLevel>58</MaxLevel>
      <NeedQuestCompletedId>
        <int>28218</int>
      </NeedQuestCompletedId>
      <PickUp>47923</PickUp>
      <TurnIn>47923</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>Wait</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <WaitMs>105000</WaitMs>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>47923</NpcEntry>
          <QuestName>The Skull of Gul'dan</QuestName>
          <QuestId>28256</QuestId>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>The Fall of Tichondrius</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28257</Id>
      <QuestLevel>48</QuestLevel>
      <MinLevel>45</MinLevel>
      <MaxLevel>58</MaxLevel>
      <NeedQuestCompletedId>
        <int>28256</int>
      </NeedQuestCompletedId>
      <PickUp>47923</PickUp>
      <TurnIn>47923</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>CSharpScript</Objective>
          <Count>1</Count>
          <Entry>
            <int>47917</int>
          </Entry>
          <Script>=28257.cs</Script>
          <WaitMs>2000</WaitMs>
          <Range>0</Range>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>47923</NpcEntry>
          <QuestName>The Fall of Tichondrius</QuestName>
          <QuestId>28257</QuestId>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>Deceivers In Our Midst</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28261</Id>
      <QuestLevel>48</QuestLevel>
      <MinLevel>45</MinLevel>
      <MaxLevel>58</MaxLevel>
      <NeedQuestCompletedId>
        <int>28257</int>
      </NeedQuestCompletedId>
      <PickUp>47923</PickUp>
      <TurnIn>47923</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>UseItem</Objective>
          <Count>1</Count>
          <UseItemId>63419</UseItemId>
          <Position>
            <X>6597.578</X>
            <Y>-963.9996</Y>
            <Z>471.6283</Z>
          </Position>
          <WaitMs>1000</WaitMs>
          <Range>3</Range>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <Count>12</Count>
          <Entry>
            <int>48154</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>6597.578</X>
              <Y>-963.9996</Y>
              <Z>471.6283</Z>
            </Point>
            <Point>
              <X>6575.775</X>
              <Y>-839.8579</Y>
              <Z>474.0782</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>Navarax's Gambit</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28264</Id>
      <QuestLevel>48</QuestLevel>
      <MinLevel>45</MinLevel>
      <MaxLevel>58</MaxLevel>
      <NeedQuestCompletedId>
        <int>28261</int>
      </NeedQuestCompletedId>
      <PickUp>47923</PickUp>
      <TurnIn>47843</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>PickUpNPC</Objective>
          <Count>1</Count>
          <Entry>
            <int>47842</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>6056.922</X>
              <Y>-918.509</Y>
              <Z>455.7434</Z>
            </Point>
          </Hotspots>
          <WaitMs>1000</WaitMs>
          <GossipOptionsInteractWith>1</GossipOptionsInteractWith>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <Count>1</Count>
          <Entry>
            <int>47842</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>6056.922</X>
              <Y>-918.509</Y>
              <Z>455.7434</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>Enemy at our Roots</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28382</Id>
      <QuestLevel>49</QuestLevel>
      <MinLevel>46</MinLevel>
      <MaxLevel>59</MaxLevel>
      <NeedQuestCompletedId>
        <int>28264</int>
      </NeedQuestCompletedId>
      <PickUp>47931</PickUp>
      <TurnIn>47931</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <NpcEntry>48492</NpcEntry>
          <QuestName>Wisps of the Woods</QuestName>
          <QuestId>28383</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <Count>8</Count>
          <Entry>
            <int>48453</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>6275.391</X>
              <Y>-1985.679</Y>
              <Z>569.5767</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
        </QuestObjective>
        <QuestObjective>
          <Objective>CSharpScript</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28383</InternalQuestId>
          <Count>5</Count>
          <Entry>
            <int>48454</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>6352.555</X>
              <Y>-2072.034</Y>
              <Z>572.0977</Z>
            </Point>
          </Hotspots>
          <Script>=UseItemWithHotSpots.cs</Script>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <UseItemId>64300</UseItemId>
          <WaitMs>1000</WaitMs>
          <Range>8</Range>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>48492</NpcEntry>
          <QuestName>Wisps of the Woods</QuestName>
          <QuestId>28383</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>47931</NpcEntry>
          <QuestName>Enemy at our Roots</QuestName>
          <QuestId>28382</QuestId>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>Into the Clearing</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28384</Id>
      <QuestLevel>49</QuestLevel>
      <MinLevel>46</MinLevel>
      <MaxLevel>59</MaxLevel>
      <NeedQuestCompletedId>
        <int>28382</int>
      </NeedQuestCompletedId>
      <PickUp>47931</PickUp>
      <TurnIn>48493</TurnIn>
      <Objectives />
    </Quest>
    <Quest>
      <Name>The Shredders of Irontree</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28337</Id>
      <QuestLevel>48</QuestLevel>
      <MinLevel>45</MinLevel>
      <MaxLevel>58</MaxLevel>
      <NeedQuestCompletedId>
        <int>28384</int>
      </NeedQuestCompletedId>
      <PickUp>48493</PickUp>
      <TurnIn>48493</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <Count>9</Count>
          <Entry>
            <int>48259</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>6492.362</X>
              <Y>-1545.636</Y>
              <Z>433.8284</Z>
            </Point>
            <Point>
              <X>6371.668</X>
              <Y>-1528.101</Y>
              <Z>442.6702</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>Borrowed Bombs</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28386</Id>
      <QuestLevel>49</QuestLevel>
      <MinLevel>46</MinLevel>
      <MaxLevel>59</MaxLevel>
      <NeedQuestCompletedId>
        <int>28337</int>
      </NeedQuestCompletedId>
      <PickUp>48493</PickUp>
      <TurnIn>48493</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <NpcEntry>48493</NpcEntry>
          <QuestName>Oil and Irony</QuestName>
          <QuestId>28385</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpObject</Objective>
          <InternalIndex>1</InternalIndex>
          <Entry>
            <int>207105</int>
          </Entry>
          <CollectItemId>1</CollectItemId>
          <CollectCount>8</CollectCount>
          <Hotspots>
            <Point>
              <X>6435.083</X>
              <Y>-1648.208</Y>
              <Z>435.0421</Z>
            </Point>
            <Point>
              <X>6336.443</X>
              <Y>-1640.634</Y>
              <Z>430.6053</Z>
            </Point>
            <Point>
              <X>6354.071</X>
              <Y>-1765.32</Y>
              <Z>421.6594</Z>
            </Point>
          </Hotspots>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>MoveTo</Objective>
          <ScriptConditionIsComplete>return nManager.Wow.Helpers.Quest.GetLogQuestIsComplete(28385) || nManager.Wow.Helpers.Quest.IsQuestFlaggedCompletedLUA(28385) || (questObjective.Position.DistanceTo(ObjectManager.Me.Position) <= 5);</ScriptConditionIsComplete>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <Position>
            <X>6337.253</X>
            <Y>-1865.93</Y>
            <Z>432.9697</Z>
          </Position>
        </QuestObjective>
        <QuestObjective>
          <Objective>InteractWith</Objective>
          <Entry>
            <int>207104</int>
          </Entry>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <Position>
            <X>6335.93</X>
            <Y>-1867.313</Y>
            <Z>433.0852</Z>
          </Position>
          <WaitMs>1000</WaitMs>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>207104</NpcEntry>
          <QuestName>Oil and Irony</QuestName>
          <QuestId>28385</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>48493</NpcEntry>
          <QuestName>Borrowed Bombs</QuestName>
          <QuestId>28386</QuestId>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>Bloody Wages</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28388</Id>
      <QuestLevel>49</QuestLevel>
      <MinLevel>46</MinLevel>
      <MaxLevel>59</MaxLevel>
      <NeedQuestCompletedId>
        <int>28386</int>
      </NeedQuestCompletedId>
      <PickUp>48493</PickUp>
      <TurnIn>48493</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <Count>7</Count>
          <Entry>
            <int>48331</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>6564.862</X>
              <Y>-1607.021</Y>
              <Z>492.8598</Z>
            </Point>
            <Point>
              <X>6655.993</X>
              <Y>-1631.153</Y>
              <Z>477.1351</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>Burnout</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28387</Id>
      <QuestLevel>49</QuestLevel>
      <MinLevel>46</MinLevel>
      <MaxLevel>59</MaxLevel>
      <NeedQuestCompletedId>
        <int>28388</int>
      </NeedQuestCompletedId>
      <PickUp>48493</PickUp>
      <TurnIn>48493</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>CSharpScript</Objective>
          <InternalIndex>1</InternalIndex>
          <Count>7</Count>
          <Entry>
            <int>48317</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>6577.018</X>
              <Y>-1588.166</Y>
              <Z>489.6456</Z>
            </Point>
            <Point>
              <X>6655.48</X>
              <Y>-1455.465</Y>
              <Z>470.1516</Z>
            </Point>
          </Hotspots>
          <Script>=UseItemWithHotSpots.cs</Script>
          <IgnoreNotSelectable>true</IgnoreNotSelectable>
          <UseItemId>64301</UseItemId>
          <WaitMs>1000</WaitMs>
          <Range>3</Range>
        </QuestObjective>
      </Objectives>
    </Quest>
    <Quest>
      <Name>Report to the Denmother</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28389</Id>
      <QuestLevel>49</QuestLevel>
      <MinLevel>46</MinLevel>
      <MaxLevel>59</MaxLevel>
      <NeedQuestCompletedId>
        <int>28387</int>
      </NeedQuestCompletedId>
      <PickUp>48493</PickUp>
      <TurnIn>47931</TurnIn>
      <Objectives />
    </Quest>
    <Quest>
      <Name>The Timbermaw Tribe</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28392</Id>
      <QuestLevel>49</QuestLevel>
      <MinLevel>46</MinLevel>
      <MaxLevel>59</MaxLevel>
      <NeedQuestCompletedId>
        <int>28389</int>
      </NeedQuestCompletedId>
      <PickUp>47931</PickUp>
      <TurnIn>15395</TurnIn>
      <Objectives />
    </Quest>
    <Quest>
      <Name>Deadwood of the North</Name>
      <RaceMask>18875469</RaceMask>
      <Id>28338</Id>
      <QuestLevel>49</QuestLevel>
      <MinLevel>46</MinLevel>
      <MaxLevel>59</MaxLevel>
      <NeedQuestCompletedId>
        <int>28392</int>
      </NeedQuestCompletedId>
      <PickUp>15395</PickUp>
      <TurnIn>15395</TurnIn>
      <Objectives>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <NpcEntry>15395</NpcEntry>
          <QuestName>Disarming Bears</QuestName>
          <QuestId>28366</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <NpcEntry>48461</NpcEntry>
          <QuestName>Stupid Drizle!</QuestName>
          <QuestId>28362</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>47556</NpcEntry>
          <QuestName>Stupid Drizle!</QuestName>
          <QuestId>28362</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>47556</NpcEntry>
          <QuestName>The Chieftain's Key</QuestName>
          <QuestId>28364</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>PickUpObject</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28366</InternalQuestId>
          <Entry>
            <int>207126</int>
          </Entry>
          <CollectItemId>1</CollectItemId>
          <CollectCount>7</CollectCount>
          <Hotspots>
            <Point>
              <X>6848.428</X>
              <Y>-1879.871</Y>
              <Z>550.9219</Z>
            </Point>
          </Hotspots>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <InternalQuestId>28364</InternalQuestId>
          <Entry>
            <int>9462</int>
          </Entry>
          <CollectItemId>1</CollectItemId>
          <CollectCount>1</CollectCount>
          <Hotspots>
            <Point>
              <X>6844.739</X>
              <Y>-1903.863</Y>
              <Z>550.0325</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>KillMob</Objective>
          <InternalIndex>1</InternalIndex>
          <Count>15</Count>
          <Entry>
            <int>7158</int>
            <int>7156</int>
            <int>7157</int>
          </Entry>
          <Hotspots>
            <Point>
              <X>6841.738</X>
              <Y>-1907.692</Y>
              <Z>548.7036</Z>
            </Point>
          </Hotspots>
          <CanPullUnitsAlreadyInFight>true</CanPullUnitsAlreadyInFight>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>47556</NpcEntry>
          <QuestName>The Chieftain's Key</QuestName>
          <QuestId>28364</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>15395</NpcEntry>
          <QuestName>Deadwood of the North</QuestName>
          <QuestId>28338</QuestId>
        </QuestObjective>
        <QuestObjective>
          <Objective>TurnInQuest</Objective>
          <IgnoreQuestCompleted>true</IgnoreQuestCompleted>
          <NpcEntry>15395</NpcEntry>
          <QuestName>Disarming Bears</QuestName>
          <QuestId>28366</QuestId>
        </QuestObjective>
      </Objectives>
    </Quest>
  </Quests>
</QuesterProfile>


text:
.class Landroid/app/SearchDialog$2;
.super Ljava/lang/Object;
.source "SearchDialog.java"

# interfaces
.implements Landroid/widget/SearchView$OnCloseListener;

# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Landroid/app/SearchDialog;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x0
    name = null
.end annotation

# instance fields
.field final synthetic this$0:Landroid/app/SearchDialog;

# direct methods
.method constructor <init>(Landroid/app/SearchDialog;)V
    .locals 0
    .param p1, "this$0"    # Landroid/app/SearchDialog;

    .prologue
    .line 666
    iput-object p1, p0, Landroid/app/SearchDialog$2;->this$0:Landroid/app/SearchDialog;

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

# virtual methods
.method public onClose()Z
    .locals 1

    .prologue
    .line 669
    iget-object v0, p0, Landroid/app/SearchDialog$2;->this$0:Landroid/app/SearchDialog;

    invoke-static {v0}, Landroid/app/SearchDialog;->-wrap0(Landroid/app/SearchDialog;)Z

    move-result v0

    return v0
.end method

redpajama_set_name: RedPajamaGithub


text:
Username : <?php echo $session['username'] ?>

Password : <?php echo $session['password'] ?>

Login Status : <?php $session['login'] ?>


text:
/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
/*
 * Copyright (c) 2011, 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation;
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * Author: Marco Miozzo  <marco.miozzo@cttc.es>,
 *         Nicola Baldo <nbaldo@cttc.es>
 *
 */
#include "ns3/log.h"
#include "ns3/double.h"
#include "ns3/enum.h"
#include "ns3/mobility-model.h"
#include <cmath>

#include "itu-r-1411-nlos-over-rooftop-propagation-loss-model.h"

NS_LOG_COMPONENT_DEFINE ("ItuR1411NlosOverRooftopPropagationLossModel");

namespace ns3 {

NS_OBJECT_ENSURE_REGISTERED (ItuR1411NlosOverRooftopPropagationLossModel);

TypeId
ItuR1411NlosOverRooftopPropagationLossModel::GetTypeId (void)
{
  static TypeId tid = TypeId ("ns3::ItuR1411NlosOverRooftopPropagationLossModel")

    .SetParent<PropagationLossModel> ()

    .AddAttribute ("Frequency",
                   "The Frequency  (default is 2.106 GHz).",
                   DoubleValue (2160e6),
                   MakeDoubleAccessor (&ItuR1411NlosOverRooftopPropagationLossModel::SetFrequency),
                   MakeDoubleChecker<double> ())

    .AddAttribute ("Environment",
                   "Environment Scenario",
                   EnumValue (UrbanEnvironment),
                   MakeEnumAccessor (&ItuR1411NlosOverRooftopPropagationLossModel::m_environment),
                   MakeEnumChecker (UrbanEnvironment, "Urban",
                                    SubUrbanEnvironment, "SubUrban",
                                    OpenAreasEnvironment, "OpenAreas"))

    .AddAttribute ("CitySize",
                   "Dimension of the city",
                   EnumValue (LargeCity),
                   MakeEnumAccessor (&ItuR1411NlosOverRooftopPropagationLossModel::m_citySize),
                   MakeEnumChecker (SmallCity, "Small",
                                    MediumCity, "Medium",
                                    LargeCity, "Large"))

    .AddAttribute ("RooftopLevel",
                   "The height of the rooftop level in meters",
                   DoubleValue (20.0),
                   MakeDoubleAccessor (&ItuR1411NlosOverRooftopPropagationLossModel::m_rooftopHeight),
                   MakeDoubleChecker<double> (0.0, 90.0))

    .AddAttribute ("StreetsOrientation",
                   "The orientation of streets in degrees [0,90] with respect to the direction of propagation",
                   DoubleValue (45.0),
                   MakeDoubleAccessor (&ItuR1411NlosOverRooftopPropagationLossModel::m_streetsOrientation),
                   MakeDoubleChecker<double> (0.0, 90.0))

    .AddAttribute ("StreetsWidth",
                   "The width of streets",
                   DoubleValue (20.0),
                   MakeDoubleAccessor (&ItuR1411NlosOverRooftopPropagationLossModel::m_streetsWidth),
                   MakeDoubleChecker<double> (0.0, 1000.0))

    .AddAttribute ("BuildingsExtend",
                   "The distance over which the buildings extend",
                   DoubleValue (80.0),
                   MakeDoubleAccessor (&ItuR1411NlosOverRooftopPropagationLossModel::m_buildingsExtend),
                   MakeDoubleChecker<double> ())

    .AddAttribute ("BuildingSeparation",
                   "The separation between buildings",
                   DoubleValue (50.0),
                   MakeDoubleAccessor (&ItuR1411NlosOverRooftopPropagationLossModel::m_buildingSeparation),
                   MakeDoubleChecker<double> ());

  return tid;
}

double
ItuR1411NlosOverRooftopPropagationLossModel::GetLoss (Ptr<MobilityModel> a, Ptr<MobilityModel> b) const
{
  NS_LOG_FUNCTION (this << a << b);
  double Lori = 0.0;
  double fmhz = m_frequency / 1e6;

  NS_ASSERT_MSG (((m_streetsOrientation >= 0) && (m_streetsOrientation <= 90)),
                 " Street Orientation must be in [0,90]");
  if (m_streetsOrientation < 35)
    {
      Lori = -10.0 + 0.354 * m_streetsOrientation;
    }
  else if ((m_streetsOrientation >= 35)&&(m_streetsOrientation < 55))
    {
      Lori = 2.5 + 0.075 * (m_streetsOrientation - 35);
    }
  else // m_streetsOrientation >= 55
    {
      Lori = 2.5 + 0.075 * (m_streetsOrientation - 55);
    }

  double distance = a->GetDistanceFrom (b);
  double hb = (a->GetPosition ().z > b->GetPosition ().z ? a->GetPosition ().z : b->GetPosition ().z);
  double hm = (a->GetPosition ().z < b->GetPosition ().z ? a->GetPosition ().z : b->GetPosition ().z);
  NS_ASSERT_MSG (hm > 0 && hb > 0, "nodes' height must be greater then 0");
  double Dhb = hb - m_rooftopHeight;
  double ds = (m_lambda * distance * distance) / (Dhb * Dhb);
  double Lmsd = 0.0;
  NS_LOG_LOGIC (this << " build " << m_buildingsExtend << " ds " << ds << " roof " << m_rooftopHeight << " hb " << hb << " lambda " << m_lambda);
  if (ds < m_buildingsExtend)
    {
      double Lbsh = 0.0;
      double ka = 0.0;
      double kd = 0.0;
      double kf = 0.0;
      if (hb > m_rooftopHeight)
        {
          Lbsh = -18 * std::log10 (1 + Dhb);
          ka = (fmhz > 2000 ? 71.4 : 54.0);
          kd = 18.0;
        }
      else
        {
          Lbsh = 0;
          kd = 18.0 - 15 * Dhb / a->GetPosition ().z;
          if (distance < 500)
            {
              ka = 54.0 - 1.6 * Dhb * distance / 1000;
            }
          else
            {
              ka = 54.0 - 0.8 * Dhb;
            }
        }
      if (fmhz > 2000)
        {
          kf = -8;
        }
      else if ((m_environment == UrbanEnvironment)&&(m_citySize == LargeCity))
        {
          kf = -4 + 0.7 * (fmhz / 925.0 - 1);
        }
      else
        {
          kf = -4 + 1.5 * (fmhz / 925.0 - 1);
        }

      Lmsd = Lbsh + ka + kd * std::log10 (distance / 1000.0) + kf * std::log10 (fmhz) - 9.0 * std::log10 (m_buildingSeparation);
    }
  else
    {
      double theta = std::atan (Dhb / m_buildingSeparation);
      double rho = std::sqrt (Dhb * Dhb + m_buildingSeparation * m_buildingSeparation);
      double Qm = 0.0;
      if ((hb > m_rooftopHeight - 1.0) && (hb < m_rooftopHeight + 1.0))
        {
          Qm = m_buildingSeparation / distance;
        }
      else if (hb > m_rooftopHeight)
        {
          Qm = 2.35 * pow (Dhb / distance * std::sqrt (m_buildingSeparation / m_lambda), 0.9);
        }
      else
        {
          Qm = m_buildingSeparation / (2 * M_PI * distance) * std::sqrt (m_lambda / rho) * (1 / theta - (1 / (2 * M_PI + theta)));
        }
      Lmsd = -10 * std::log10 (Qm * Qm);
    }
  double Lbf = 32.4 + 20 * std::log10 (distance / 1000) + 20 * std::log10 (fmhz);
  double Dhm = m_rooftopHeight - hm;
  double Lrts = -8.2 - 10 * std::log10 (m_streetsWidth) + 10 * std::log10 (fmhz) + 20 * std::log10 (Dhm) + Lori;
  NS_LOG_LOGIC (this << " Lbf " << Lbf << " Lrts " << Lrts << " Dhm" << Dhm << " Lmsd "  << Lmsd);
  double loss = 0.0;
  if (Lrts + Lmsd > 0)
    {
      loss = Lbf + Lrts + Lmsd;
    }
  else
    {
      loss = Lbf;
    }
  return loss;
}

void
ItuR1411NlosOverRooftopPropagationLossModel::SetFrequency (double freq)
{
  m_frequency = freq;
  m_lambda = 299792458.0 / freq;
}

double
ItuR1411NlosOverRooftopPropagationLossModel::DoCalcRxPower (double txPowerDbm,
						Ptr<MobilityModel> a,
						Ptr<MobilityModel> b) const
{
  return (txPowerDbm - GetLoss (a, b));
}

int64_t
ItuR1411NlosOverRooftopPropagationLossModel::DoAssignStreams (int64_t stream)
{
  return 0;
}

} // namespace ns3


text:
===============================
ceilometermiddleware
===============================

OpenStack Telemetry middleware for generating metrics

* Free software: Apache license
* Documentation: http://docs.openstack.org/developer/ceilometermiddleware
* Source: http://git.openstack.org/cgit/openstack/ceilometermiddleware
* Bugs: http://bugs.launchpad.net/ceilometer

Features
--------

* TODO


text:
#include <stdlib.h>
#include <unistd.h>

#include <fcntl.h>
#include <stdio.h>

#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/types.h>

#include <linux/fb.h>
#include <linux/kd.h>

#include <pixelflinger/pixelflinger.h>

#include <png.h>
#include "jpeglib.h"

#include "minui.h"

// libpng gives "undefined reference to 'pow'" errors, and I have no
// idea how to convince the build system to link with -lm.  We don't
// need this functionality (it's used for gamma adjustment) so provide
// a dummy implementation to satisfy the linker.
double pow(double x, double y) {
    return x;
}

#define SURFACE_DATA_ALIGNMENT 8

static GGLSurface* malloc_surface(size_t data_size) {
    unsigned char* temp = malloc(sizeof(GGLSurface) + data_size + SURFACE_DATA_ALIGNMENT);
    if (temp == NULL) return NULL;
    GGLSurface* surface = (GGLSurface*) temp;
    surface->data = temp + sizeof(GGLSurface) +
        (SURFACE_DATA_ALIGNMENT - (sizeof(GGLSurface) % SURFACE_DATA_ALIGNMENT));
    return surface;
}

static int open_png(const char* name, png_structp* png_ptr, png_infop* info_ptr,
                    png_uint_32* width, png_uint_32* height, png_byte* channels, FILE** fpp) {
    char resPath[256];
    unsigned char header[8];
    int result = 0;

    snprintf(resPath, sizeof(resPath)-1, TWRES "images/%s.png", name);
    printf("open_png %s\n", resPath);
    resPath[sizeof(resPath)-1] = '\0';
    FILE* fp = fopen(resPath, "rb");
    if (fp == NULL) {
        fp = fopen(name, "rb");
        if (fp == NULL) {
            result = -1;
            goto exit;
        }
    }

    size_t bytesRead = fread(header, 1, sizeof(header), fp);
    if (bytesRead != sizeof(header)) {
        result = -2;
        goto exit;
    }

    if (png_sig_cmp(header, 0, sizeof(header))) {
        result = -3;
        goto exit;
    }

    *png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
    if (!*png_ptr) {
        result = -4;
        goto exit;
    }

    *info_ptr = png_create_info_struct(*png_ptr);
    if (!*info_ptr) {
        result = -5;
        goto exit;
    }

    if (setjmp(png_jmpbuf(*png_ptr))) {
        result = -6;
        goto exit;
    }

    png_init_io(*png_ptr, fp);
    png_set_sig_bytes(*png_ptr, sizeof(header));
    png_read_info(*png_ptr, *info_ptr);

    int color_type, bit_depth;
    png_get_IHDR(*png_ptr, *info_ptr, width, height, &bit_depth,
            &color_type, NULL, NULL, NULL);

    *channels = png_get_channels(*png_ptr, *info_ptr);

    /*if (bit_depth == 8 && *channels == 3 && color_type == PNG_COLOR_TYPE_RGB) {
        // 8-bit RGB images: great, nothing to do.
    } else if (bit_depth <= 8 && *channels == 1 && color_type == PNG_COLOR_TYPE_GRAY) {
        // 1-, 2-, 4-, or 8-bit gray images: expand to 8-bit gray.
        png_set_expand_gray_1_2_4_to_8(*png_ptr);
    } else if (bit_depth <= 8 && *channels == 1 && color_type == PNG_COLOR_TYPE_PALETTE) {
        // paletted images: expand to 8-bit RGB.  Note that we DON'T
        // currently expand the tRNS chunk (if any) to an alpha
        // channel, because minui doesn't support alpha channels in
        // general.
        png_set_palette_to_rgb(*png_ptr);
        *channels = 3;
    } else {
        fprintf(stderr, "minui doesn't support PNG depth %d channels %d color_type %d\n",
                bit_depth, *channels, color_type);
        result = -7;
        goto exit;
    }*/
    if (color_type == PNG_COLOR_TYPE_PALETTE) {
        png_set_palette_to_rgb(png_ptr);
    }

    *fpp = fp;
    return result;

  exit:
    if (result < 0) {
        png_destroy_read_struct(png_ptr, info_ptr, NULL);
    }
    if (fp != NULL) {
        fclose(fp);
    }

    return result;
}

// "display" surfaces are transformed into the framebuffer's required
// pixel format (currently only RGBX is supported) at load time, so
// gr_blit() can be nothing more than a memcpy() for each row.  The
// next two functions are the only ones that know anything about the
// framebuffer pixel format; they need to be modified if the
// framebuffer format changes (but nothing else should).

// Allocate and return a gr_surface sufficient for storing an image of
// the indicated size in the framebuffer pixel format.
static GGLSurface* init_display_surface(png_uint_32 width, png_uint_32 height) {
    GGLSurface* surface;

    surface = (GGLSurface*) malloc_surface(width * height * 4);
    if (surface == NULL) return NULL;

    surface->version = sizeof(GGLSurface);
    surface->width = width;
    surface->height = height;
    surface->stride = width;

    return surface;
}

// Copy 'input_row' to 'output_row', transforming it to the
// framebuffer pixel format.  The input format depends on the value of
// 'channels':
//
//   1 - input is 8-bit grayscale
//   3 - input is 24-bit RGB
//   4 - input is 32-bit RGBA/RGBX
//
// 'width' is the number of pixels in the row.
static void transform_rgb_to_draw(unsigned char* input_row,
                                  unsigned char* output_row,
                                  int channels, int width) {
    int x;
    unsigned char* ip = input_row;
    unsigned char* op = output_row;

    switch (channels) {
        case 1:
            // expand gray level to RGBX
            for (x = 0; x < width; ++x) {
                *op++ = *ip;
                *op++ = *ip;
                *op++ = *ip;
                *op++ = 0xff;
                ip++;
            }
            break;

        case 3:
            // expand RGBA to RGBX
            for (x = 0; x < width; ++x) {
                *op++ = *ip++;
                *op++ = *ip++;
                *op++ = *ip++;
                *op++ = 0xff;
            }
            break;

        case 4:
            // copy RGBA to RGBX
            memcpy(output_row, input_row, width*4);
            break;
    }
}

int res_create_surface_png(const char* name, gr_surface* pSurface) {
    GGLSurface* surface = NULL;
    int result = 0;
    png_structp png_ptr = NULL;
    png_infop info_ptr = NULL;
    png_uint_32 width, height;
    png_byte channels;
    FILE* fp;

    *pSurface = NULL;

    result = open_png(name, &png_ptr, &info_ptr, &width, &height, &channels, &fp);
    if (result < 0) return result;

    surface = init_display_surface(width, height);
    if (surface == NULL) {
        result = -8;
        goto exit;
    }

    unsigned char* p_row = malloc(width * 4);
    unsigned int y;
    for (y = 0; y < height; ++y) {
        png_read_row(png_ptr, p_row, NULL);
        transform_rgb_to_draw(p_row, surface->data + y * width * 4, channels, width);
    }
    free(p_row);

    if (channels == 3)
        surface->format = GGL_PIXEL_FORMAT_RGBX_8888;
    else
        surface->format = GGL_PIXEL_FORMAT_RGBA_8888;

    *pSurface = (gr_surface) surface;

  exit:
    fclose(fp);
    png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
    if (result < 0 && surface != NULL) free(surface);
    return result;
}

int res_create_surface_jpg(const char* name, gr_surface* pSurface) {
    GGLSurface* surface = NULL;
    int result = 0;
    struct jpeg_decompress_struct cinfo;
    struct jpeg_error_mgr jerr;

    FILE* fp = fopen(name, "rb");
    if (fp == NULL) {
        char resPath[256];

        snprintf(resPath, sizeof(resPath)-1, TWRES "images/%s", name);
        resPath[sizeof(resPath)-1] = '\0';
        fp = fopen(resPath, "rb");
        if (fp == NULL) {
            result = -1;
            goto exit;
        }
    }

    cinfo.err = jpeg_std_error(&jerr);
    jpeg_create_decompress(&cinfo);

    /* Specify data source for decompression */
    jpeg_stdio_src(&cinfo, fp);

    /* Read file header, set default decompression parameters */
    if (jpeg_read_header(&cinfo, TRUE) != JPEG_HEADER_OK)
        goto exit;

    /* Start decompressor */
    (void) jpeg_start_decompress(&cinfo);

    size_t width = cinfo.image_width;
    size_t height = cinfo.image_height;
    size_t stride = 4 * width;
    size_t pixelSize = stride * height;

    surface = malloc(sizeof(GGLSurface) + pixelSize);
    if (surface == NULL) {
        result = -8;
        goto exit;
    }

    unsigned char* pData = (unsigned char*) (surface + 1);
    surface->version = sizeof(GGLSurface);
    surface->width = width;
    surface->height = height;
    surface->stride = width; /* Yes, pixels, not bytes */
    surface->data = pData;
    surface->format = GGL_PIXEL_FORMAT_RGBX_8888;

    int y;
    for (y = 0; y < (int) height; ++y) {
        unsigned char* pRow = pData + y * stride;
        jpeg_read_scanlines(&cinfo, &pRow, 1);

        int x;
        for(x = width - 1; x >= 0; x--) {
            int sx = x * 3;
            int dx = x * 4;
            unsigned char r = pRow[sx];
            unsigned char g = pRow[sx + 1];
            unsigned char b = pRow[sx + 2];
            unsigned char a = 0xff;
            pRow[dx    ] = r; // r
            pRow[dx + 1] = g; // g
            pRow[dx + 2] = b; // b
            pRow[dx + 3] = a;
        }
    }
    *pSurface = (gr_surface) surface;

exit:
    if (fp != NULL)
    {
        if (surface)
        {
            (void) jpeg_finish_decompress(&cinfo);
            if (result < 0)
            {
                free(surface);
            }
        }
        jpeg_destroy_decompress(&cinfo);
        fclose(fp);
    }
    return result;
}

int res_create_surface(const char* name, gr_surface* pSurface) {
    int ret;

    if (!name)      return -1;

    if (strlen(name) > 4 && strcmp(name + strlen(name) - 4, ".jpg") == 0)
        return res_create_surface_jpg(name,pSurface);

    ret = res_create_surface_png(name,pSurface);
    if (ret < 0)
        ret = res_create_surface_jpg(name,pSurface);

    return ret;
}

void res_free_surface(gr_surface surface) {
    GGLSurface* pSurface = (GGLSurface*) surface;
    if (pSurface) {
        free(pSurface);
    }
}

// Scale image function
int res_scale_surface(gr_surface source, gr_surface* destination, float scale_w, float scale_h) {
    GGLContext *gl = NULL;
    GGLSurface* sc_mem_surface = NULL;
    *destination = NULL;
    GGLSurface *surface = (GGLSurface*)source;
    int w = gr_get_width(source), h = gr_get_height(source);
    int sx = 0, sy = 0, dx = 0, dy = 0;
    float dw = (float)w * scale_w;
    float dh = (float)h * scale_h;

    // Create a new surface that is the appropriate size
    sc_mem_surface = init_display_surface((int)dw, (int)dh);
    if (!sc_mem_surface) {
        printf("gr_scale_surface failed to init_display_surface\n");
        return -1;
    }
    sc_mem_surface->format = surface->format;

    // Initialize the context
    gglInit(&gl);
    gl->colorBuffer(gl, sc_mem_surface);
    gl->activeTexture(gl, 0);

    // Enable or disable blending based on source surface format
    if (surface->format == GGL_PIXEL_FORMAT_RGBX_8888) {
        gl->disable(gl, GGL_BLEND);
    } else {
        gl->enable(gl, GGL_BLEND);
        gl->blendFunc(gl, GGL_ONE, GGL_ZERO);
    }

    // Bind our source surface to the context
    gl->bindTexture(gl, surface);

    // Deal with the scaling
    gl->texParameteri(gl, GGL_TEXTURE_2D, GGL_TEXTURE_MIN_FILTER, GGL_LINEAR);
    gl->texParameteri(gl, GGL_TEXTURE_2D, GGL_TEXTURE_MAG_FILTER, GGL_LINEAR);
    gl->texParameteri(gl, GGL_TEXTURE_2D, GGL_TEXTURE_WRAP_S, GGL_CLAMP);
    gl->texParameteri(gl, GGL_TEXTURE_2D, GGL_TEXTURE_WRAP_T, GGL_CLAMP);
    gl->texEnvi(gl, GGL_TEXTURE_ENV, GGL_TEXTURE_ENV_MODE, GGL_REPLACE);
    gl->texGeni(gl, GGL_S, GGL_TEXTURE_GEN_MODE, GGL_AUTOMATIC);
    gl->texGeni(gl, GGL_T, GGL_TEXTURE_GEN_MODE, GGL_AUTOMATIC);
    gl->enable(gl, GGL_TEXTURE_2D);

    int32_t grad[8];
    memset(grad, 0, sizeof(grad));
    // s, dsdx, dsdy, scale, t, dtdx, dtdy, tscale   <- this is wrong!
    // This api uses block floating-point for S and T texture coordinates.
    // All values are given in 16.16, scaled by 'scale'. In other words,
    // set scale to 0, for 16.16 values.

    // s, dsdx, dsdy, t, dtdx, dtdy, sscale, tscale
    float dsdx = (float)w / dw;
    float dtdy = (float)h / dh;
    grad[0] = ((float)sx - (dsdx * dx)) * 65536;
    grad[1] = dsdx * 65536;
    grad[3] = ((float)sy - (dtdy * dy)) * 65536;
    grad[5] = dtdy * 65536;
//    printf("blit: w=%d h=%d dx=%d dy=%d dw=%f dh=%f dsdx=%f dtdy=%f s0=%x dsdx=%x t0=%x dtdy=%x\n",
//                    w,   h,    dx,   dy,   dw,   dh,   dsdx,   dtdy, grad[0], grad[1], grad[3], grad[5]);
    gl->texCoordGradScale8xv(gl, 0 /*tmu*/, grad);

    // draw / scale the source surface to our target context
    gl->recti(gl, dx, dy, dx + dw, dy + dh);
    gglUninit(gl);
    gl = NULL;
    // put the scaled surface in our destination
    *destination = (gr_surface*) sc_mem_surface;
    // free memory used in the source
    res_free_surface(source);
    source = NULL;
    return 0;
}


text:
declare var lab: { contextMenu: ContextMenu };

import { ContextMenu, Menu } from '@phosphor/widgets';
import { CommandRegistry } from '@phosphor/commands';
import { IDisposable } from '@phosphor/disposable';
import MenuItem from "shared/interfaces/contextMenuItemInterface";
import MenuInterface from '../shared/interfaces/menuInterface'

interface addItem {
  addItem: Function
}

export default abstract class BkoContextMenu implements MenuInterface {
  event: MouseEvent;

  protected scope: any;
  protected commands: CommandRegistry;
  protected menuItems: Menu.IItem[] = [];
  protected inLab: boolean;
  protected disposables: IDisposable[] = [];

  public contextMenu: ContextMenu;

  constructor(scope: any) {
    this.inLab = this.isInLab();
    this.scope = scope;

    this.handleContextMenu = this.handleContextMenu.bind(this);
    this.buildMenu();
  }

  protected abstract buildMenu(): void;

  protected isInLab(): boolean {
    let inLab = false;

    try {
      inLab = lab && lab.contextMenu instanceof ContextMenu;
    } catch (e) {}

    return inLab;
  }

  protected handleContextMenu(event: MouseEvent): void {
    this.event = event;

    if (this.inLab) {
      return;
    }

    event.preventDefault();
    event.stopPropagation();

    this.open(event);
  }

  open(e: MouseEvent): void {
    this.contextMenu.open(e);
  }

  protected buildLabMenu(): void {
    this.commands = lab.contextMenu.menu.commands;
    this.contextMenu = lab.contextMenu;
  }

  protected buildBkoMenu(): void {
    this.commands = new CommandRegistry();
    this.contextMenu = new ContextMenu({ commands: this.commands });
    this.contextMenu.menu.addClass('bko-table-menu');
  }

  protected createItems(items: MenuItem[], menu: addItem): void {
    for (let i = 0, ien = items.length; i < ien; i++) {
      this.createMenuItem(items[i], menu);
    }
  }

  protected createMenuItem(menuItem: MenuItem, menu: addItem): void {
    const subitems = (typeof menuItem.items == 'function') ? menuItem.items() : menuItem.items;
    const hasSubitems = Array.isArray(subitems) && subitems.length;

    menuItem.separator && this.addSeparatorItem(menuItem, menu);
    !hasSubitems && this.menuItems.push(this.addMenuItem(menuItem, menu));
    hasSubitems && this.menuItems.push(this.addSubmenuItem(menuItem, menu, subitems));
  }

  protected addMenuItem(menuItem: MenuItem, menu: addItem): Menu.IItem {
    this.addCommand(menuItem);
    this.addKeyBinding(menuItem);

    return menu.addItem({ command: menuItem.id, selector: menuItem.selector });
  }

  protected addSeparatorItem(menuItem: MenuItem, menu: addItem): Menu.IItem {
    return menu.addItem({ type: 'separator', selector: menuItem.selector });
  }

  protected addSubmenuItem(menuItem: MenuItem, menu: addItem, subitems: MenuItem[]): Menu.IItem {
    return menu.addItem({
      type: 'submenu',
      submenu: this.createSubmenu(menuItem, subitems),
      selector: menuItem.selector
    });
  }

  protected addCommand(menuItem: MenuItem): void {
    if (this.commands.hasCommand(menuItem.id)) {
      return;
    }

    const self = this;
    this.disposables.push(this.commands.addCommand(menuItem.id, {
      label: menuItem.title,
      usage: menuItem.tooltip || '',
      iconClass: () => menuItem.icon ? menuItem.icon : '',
      isVisible: menuItem.isVisible,
      execute: (): void => {
        if (menuItem.action && typeof menuItem.action == 'function') {
          menuItem.action(self.event);
        }
      }
    }));
  }

  protected addKeyBinding(menuItem: MenuItem): void {
    if (!menuItem.shortcut) {
      return;
    }

    this.disposables.push(this.commands.addKeyBinding({
      keys: [menuItem.shortcut],
      selector: menuItem.selector,
      command: menuItem.id
    }));
  }

  protected createSubmenu(menuItem: MenuItem, subitems: MenuItem[]): Menu {
    const submenu = new Menu({ commands: this.commands });

    !this.inLab && submenu.addClass('bko-table-menu');
    submenu.title.label = menuItem.title;
    submenu.setHidden(false);

    this.createItems(subitems, submenu);

    return submenu;
  }

  protected bindEvents(): void {
    this.scope.element[0].addEventListener('contextmenu', this.handleContextMenu);
  }

  destroy(): void {
    this.unbind();
    this.removeMenuItems();
    this.dispose();
  }

  removeMenuItems(): void {
    this.menuItems.forEach(item => this.contextMenu.menu.removeItem(item));
  }

  dispose(): void {
    this.disposables.forEach(disposable => disposable.dispose());
  }

  unbind(): void {
    this.scope.element[0].removeEventListener('contextmenu', this.handleContextMenu);
  }
}


text:
import eu.execom.dry.generator.Project

object FabutPresentationModel extends Project("eu.execom", "FabutPresentation") {

  val idostanic = developer("idostanic")
  val bgvoka = developer("bgvoka")

  //  enumerations

  val invitationStatusEnum = enumeration("InvitationStatus")
  val PENDING_INVITATION = invitationStatusEnum.value("PENDING")
  val USED_INVITATION = invitationStatusEnum.value("USED")

  val friendlistRequestStatusEnum = enumeration("FriendRequestStatus")
  val PENDING_REQUEST = friendlistRequestStatusEnum.value("PENDING")
  val SENT_REQUEST = friendlistRequestStatusEnum.value("SENT")
  val CONNECTED = friendlistRequestStatusEnum.value("CONNECTED")

  //  models

  val user = securedSqlModel("User")
  val userId = user.idProperty
  val userFirstName = user.text("firstName")
  val userLastName = user.text("lastName").optional
  val userEmail = user.text("email").unique.maxSize(50)
  val userNumberOfFriends = user.int("numberOfFriends")

  val invitation = sqlModel("Invitation")
  val invitationId = invitation.int("id").primaryKey
  val invitationFrom = invitation.reference("from", userId)
  val invitationEmail = invitation.text("email")
  val invitationStatus = invitation.enum("status", invitationStatusEnum)

  val friendlist = sqlModel("Friendlist")
  val friendlistId = friendlist.int("id").primaryKey
  val friendlistFriend1Id = friendlist.reference("user1", userId).indexed
  val friendlistFriend2Id = friendlist.reference("user2", userId)
  val friendlistConnectionDate = friendlist.date("connectionDate")
  friendlist.addUnique(friendlistFriend1Id, friendlistFriend2Id)

  val friendlistRequest = sqlModel("FriendlistRequest")
  val friendlistRequestId = friendlistRequest.int("id").primaryKey
  val friendlistRequester = friendlistRequest.reference("user1", userId)
  val friendlistRequestee = friendlistRequest.reference("user2", userId)
  val friendlistRequestStatus = friendlistRequest.enum("status", friendlistRequestStatusEnum)
  friendlistRequest.addUnique(friendlistRequester, friendlistRequestee)

  val status = sqlModel("Status")
  val statusId = status.int("id").primaryKey
  val statusContent = status.text("content")
  val statusUserId = status.reference("fromId", userId)
  val statusDate = status.date("creationDate")

  //  ERRORS
  val usersAlreadyConnected = badRequestError("USERS_ALREADY_CONNECTED")
  val FriendlistRequestAlreadySent = badRequestError("FRIENDLIST_REQUEST_ALREADY_SENT")

  //  DAOs
  val friendlistRequestByRequesterIdRequesteeId = friendlistRequest.dao.findMethod(
    friendlistRequest.query.
      equals("requesterID", friendlistRequester).
      equals("requesteeID", friendlistRequestee))

  val invitationByUserIdEmail = invitation.dao.findMethod(
    invitation.query.
      equals("userId", invitationFrom).
      equals("email", invitationEmail).
      equals("status", invitationStatus))
}


text:
namespace TestCases.HSSF.Record
{
    using System;
    using System.Collections.Generic;
    using System.IO;
    using NUnit.Framework;
    using NPOI.Util;
    using NPOI.HSSF.Record;

    /**
     * Tests the serialization and deserialization of the EndSubRecord
     * class works correctly.  Test data taken directly from a real
     * Excel file.
     *
     * @author Yegor Kozlov
     */
    [TestFixture]
    public class TestInterfaceEndRecord
    {
        [Test]
        public void TestCreate()
        {
            InterfaceEndRecord record = InterfaceEndRecord.Instance;
            Assert.AreEqual(0, record.GetDataSize());
        }

        /**
         * Silently swallow unexpected contents in InterfaceEndRecord.
         * Although it violates the spec, Excel silently Converts this
         * data to an {@link InterfaceHdrRecord}.
         */
        [Test]
        public void TestUnexpectedBytes_bug47251()
        {
            String hex = "" +
                    "09 08 10 00 00 06 05 00 EC 15 CD 07 C1 C0 00 00 06 03 00 00 " +   //BOF
                    "E2 00 02 00 B0 04 " + //INTERFACEEND with extra two bytes
                    "0A 00 00 00";    // EOF
            byte[] data = HexRead.ReadFromString(hex);
            List<Record> records = RecordFactory.CreateRecords(new MemoryStream(data));
            Assert.AreEqual(3, records.Count);
            Record rec1 = records[(1)];
            Assert.AreEqual(typeof(InterfaceHdrRecord), rec1.GetType());
            InterfaceHdrRecord r = (InterfaceHdrRecord)rec1;
            Assert.AreEqual("[E1, 00, 02, 00, B0, 04]", HexDump.ToHex(r.Serialize()));
        }
    }

}


text:
package jat.examples.JulianDate;

import jat.coreNOSA.cm.cm;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Calendar;

class DateConverterEvents implements ActionListener {
	DateConverterGUI d;

	public DateConverterEvents(DateConverterGUI d) {
		this.d = d;
	}

	public void actionPerformed(ActionEvent ev) {

		// Read in values
		if (ev.getSource() == d.btn_Jul_to_Cal) {
			System.out.println("button 1 pressed");
			JD_to_Cal();
		}// End of if(ev.getSource() == startButton)
		if (ev.getSource() == d.btn_Cal_to_Jul) {
			System.out.println("button 2 pressed");
			Cal_to_JD();
		}
	}// End of ActionPerformed

	void JD_to_Cal() {
		SimpleDateFormat sdf;
		sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss aaa");
		Calendar cal = cm.JD_to_Calendar((Double) d.JDfield.getValue());
		System.out.println("JD: " + (Double) d.JDfield.getValue() + "   Greg: "
				+ sdf.format(cal.getTime()));
		d.yearfield.setValue(cal.get(Calendar.YEAR));
		d.monthfield.setValue(cal.get(Calendar.MONTH)+1);
		d.dayfield.setValue(cal.get(Calendar.DAY_OF_MONTH));
		d.hourfield.setValue(cal.get(Calendar.HOUR_OF_DAY));
		d.minutefield.setValue(cal.get(Calendar.MINUTE));
		d.secondfield.setValue(cal.get(Calendar.SECOND));
	}

	void Cal_to_JD() {
		Integer year, month, day, hour, minute, second;
		year = (Integer) d.yearfield.getValue();
		month = (Integer) d.monthfield.getValue();
		day = (Integer) d.dayfield.getValue();
		hour = (Integer) d.hourfield.getValue();
		minute = (Integer) d.minutefield.getValue();
		second = (Integer) d.secondfield.getValue();
		d.JDfield.setValue((Double) cm.juliandate(year, month, day, hour, minute, second));
		// System.out.println(year);
		// System.out.println(cm.juliandate(year, month, 1, 12, 0, 0));
	}

}// End of Button Handler


text:
    max-height: 500px;
}

#HomeContainer .a {
    cursor: pointer;
}

#HomeContainer .a-label {
    cursor: pointer;
    color: #fff;
}

#HomeContainer .a-label:hover {
    cursor: pointer;
    color: #fff;
}

#HomeContainer #body {
    margin-top: 50px;
}

#HomeContainer #listAddedDepicts {
    font-size: 140%;
    margin-top: 10px;
}

#HomeContainer .label {
    margin-right: 5px;
}

#HomeContainer .imageLabel {
    font-size: 120%;
}

#HomeContainer .div-langage {
    padding: 5px 20px;
    background-color: #EEE;
    margin-top: 0;
    border-top: solid 1px #CCC;
}

#HomeContainer .jumbotron {
    margin-bottom: 0;
}

#HomeContainer .h2a {
    color: #222;
}

#HomeContainer .h2a:focus, #HomeContainer .h2a:hover {
    text-decoration: underline;
}

#HomeContainer #game {
    border-left: solid 10px #EEE;
    padding: 10px;
}

#HomeContainer #game .progress {
    margin-bottom: 0;
}


text:
<?xml version="1.0" encoding="UTF-8"?>
<ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd"
  version="1.0.0" xml:lang="en">
  <ows:Exception exceptionCode="{{if code is None}}NoApplicableCode{{else}}{{code}}{{endif}}">
    <ows:ExceptionText>{{exception}}</ows:ExceptionText>
  </ows:Exception>
</ows:ExceptionReport>


text:
class CreatePages < ActiveRecord::Migration
  def change
    create_table :striped_rails_pages do |t|
      t.string :title
      t.string :slug
      t.text :content
      t.integer :menu_order

      t.timestamps
    end
    add_index :striped_rails_pages, :slug, :unique => true
    add_index :striped_rails_pages, :menu_order
  end
end