function net_i2geo_skillstextbox_SkillsTextBox(){
  var $wnd_0 = window, $doc_0 = document, $stats = $wnd_0.__gwtStatsEvent?function(a){
    return $wnd_0.__gwtStatsEvent(a);
  }
  :null, scriptsDone, loadDone, bodyDone, base = '', metaProps = {}, values = [], providers = [], answers = [], onLoadErrorFunc, propertyErrorFunc;
  $stats && $stats({moduleName:'net.i2geo.skillstextbox.SkillsTextBox', subSystem:'startup', evtGroup:'bootstrap', millis:(new Date()).getTime(), type:'begin'});
  if (!$wnd_0.__gwt_stylesLoaded) {
    $wnd_0.__gwt_stylesLoaded = {};
  }
  if (!$wnd_0.__gwt_scriptsLoaded) {
    $wnd_0.__gwt_scriptsLoaded = {};
  }
  function isHostedMode(){
    try {
      return $wnd_0.external && ($wnd_0.external.gwtOnLoad && $wnd_0.location.search.indexOf('gwt.hybrid') == -1);
    }
     catch (e) {
      return false;
    }
  }

  function maybeStartModule(){
    if (scriptsDone && loadDone) {
      var iframe = $doc_0.getElementById('net.i2geo.skillstextbox.SkillsTextBox');
      var frameWnd = iframe.contentWindow;
      frameWnd.__gwt_initHandlers = net_i2geo_skillstextbox_SkillsTextBox.__gwt_initHandlers;
      if (isHostedMode()) {
        frameWnd.__gwt_getProperty = function(name){
          return computePropValue(name);
        }
        ;
      }
      net_i2geo_skillstextbox_SkillsTextBox = null;
      frameWnd.gwtOnLoad(onLoadErrorFunc, 'net.i2geo.skillstextbox.SkillsTextBox', base);
      $stats && $stats({moduleName:'net.i2geo.skillstextbox.SkillsTextBox', subSystem:'startup', evtGroup:'moduleStartup', millis:(new Date()).getTime(), type:'end'});
    }
  }

  function computeScriptBase(){
    var thisScript, markerId = '__gwt_marker_net.i2geo.skillstextbox.SkillsTextBox', markerScript;
    $doc_0.write('<script id="' + markerId + '"><\/script>');
    markerScript = $doc_0.getElementById(markerId);
    thisScript = markerScript && markerScript.previousSibling;
    while (thisScript && thisScript.tagName != 'SCRIPT') {
      thisScript = thisScript.previousSibling;
    }
    function getDirectoryOfFile(path){
      var hashIndex = path.lastIndexOf('#');
      if (hashIndex == -1) {
        hashIndex = path.length;
      }
      var queryIndex = path.indexOf('?');
      if (queryIndex == -1) {
        queryIndex = path.length;
      }
      var slashIndex = path.lastIndexOf('/', Math.min(queryIndex, hashIndex));
      return slashIndex >= 0?path.substring(0, slashIndex + 1):'';
    }

    ;
    if (thisScript && thisScript.src) {
      base = getDirectoryOfFile(thisScript.src);
    }
    if (base == '') {
      var baseElements = $doc_0.getElementsByTagName('base');
      if (baseElements.length > 0) {
        base = baseElements[baseElements.length - 1].href;
      }
       else {
        base = getDirectoryOfFile($doc_0.location.href);
      }
    }
     else if (base.match(/^\w+:\/\//)) {
    }
     else {
      var img = $doc_0.createElement('img');
      img.src = base + 'clear.cache.gif';
      base = getDirectoryOfFile(img.src);
    }
    if (markerScript) {
      markerScript.parentNode.removeChild(markerScript);
    }
  }

  function processMetas(){
    var metas = document.getElementsByTagName('meta');
    for (var i = 0, n = metas.length; i < n; ++i) {
      var meta = metas[i], name = meta.getAttribute('name'), content;
      if (name) {
        if (name == 'gwt:property') {
          content = meta.getAttribute('content');
          if (content) {
            var value, eq = content.indexOf('=');
            if (eq >= 0) {
              name = content.substring(0, eq);
              value = content.substring(eq + 1);
            }
             else {
              name = content;
              value = '';
            }
            metaProps[name] = value;
          }
        }
         else if (name == 'gwt:onPropertyErrorFn') {
          content = meta.getAttribute('content');
          if (content) {
            try {
              propertyErrorFunc = eval(content);
            }
             catch (e) {
              alert('Bad handler "' + content + '" for "gwt:onPropertyErrorFn"');
            }
          }
        }
         else if (name == 'gwt:onLoadErrorFn') {
          content = meta.getAttribute('content');
          if (content) {
            try {
              onLoadErrorFunc = eval(content);
            }
             catch (e) {
              alert('Bad handler "' + content + '" for "gwt:onLoadErrorFn"');
            }
          }
        }
      }
    }
  }

  function __gwt_isKnownPropertyValue(propName, propValue){
    return propValue in values[propName];
  }

  function unflattenKeylistIntoAnswers(propValArray, value){
    var answer = answers;
    for (var i = 0, n = propValArray.length - 1; i < n; ++i) {
      answer = answer[propValArray[i]] || (answer[propValArray[i]] = []);
    }
    answer[propValArray[n]] = value;
  }

  function computePropValue(propName){
    var value = providers[propName](), allowedValuesMap = values[propName];
    if (value in allowedValuesMap) {
      return value;
    }
    var allowedValuesList = [];
    for (var k in allowedValuesMap) {
      allowedValuesList[allowedValuesMap[k]] = k;
    }
    if (propertyErrorFunc) {
      propertyErrorFunc(propName, allowedValuesList, value);
    }
    throw null;
  }

  var frameInjected;
  function maybeInjectFrame(){
    if (!frameInjected) {
      frameInjected = true;
      var iframe = $doc_0.createElement('iframe');
      iframe.src = "javascript:''";
      iframe.id = 'net.i2geo.skillstextbox.SkillsTextBox';
      iframe.style.cssText = 'position:absolute;width:0;height:0;border:none';
      iframe.tabIndex = -1;
      $doc_0.body.appendChild(iframe);
      $stats && $stats({moduleName:'net.i2geo.skillstextbox.SkillsTextBox', subSystem:'startup', evtGroup:'moduleStartup', millis:(new Date()).getTime(), type:'moduleRequested'});
      iframe.contentWindow.location.replace(base + strongName);
    }
  }

  providers['locale'] = function(){
    try {
      var locale = null;
      function log(msg){
        if (window.console)
          window.console.log(msg);
      }

      if (locale == null) {
        var args = location.search;
        var startLang = args.indexOf('locale');
        if (startLang >= 0) {
          var language = args.substring(startLang);
          var begin = language.indexOf('=') + 1;
          var end = language.indexOf('&');
          if (end == -1) {
            end = language.length;
          }
          locale = language.substring(begin, end);
        }
      }
      if (window.top.browserLanguages === undefined) {
        log('browserLanguages is undefined, using english.');
        window.browserLangues = 'en';
      }
      if (window.top.browserLanguages === undefined) {
        log('using default language.');
        if (!navigator.language)
          window.top.browserLanguages = 'en';
        else 
          window.top.browserLanguages = navigator.language;
      }
      log('Will attempt language from list "' + window.top.browserLanguages + '".');
      var langs = window.top.browserLanguages.split(',');
      var l = langs.length, i = 0;
      while (i < l && !__gwt_isKnownPropertyValue('locale', locale)) {
        locale = langs[i];
        if (locale.length > 2)
          locale = locale.substring(0, 2);
        i++;
      }
      if (locale == null || !__gwt_isKnownPropertyValue('locale', locale)) {
        return 'en';
      }
      log('reached locale "' + locale + '"');
      return locale;
    }
     catch (e) {
      alert('Unexpected exception in locale detection, using default: ' + e);
      return 'default';
    }
  }
  ;
  values['locale'] = {cs:0, de:1, 'default':2, en:3, es:4, eu:5, fr:6, it:7, mk:8, nl:9, pt:10, ru:11};
  providers['user.agent'] = function(){
    var ua = navigator.userAgent.toLowerCase();
    var makeVersion = function(result){
      return parseInt(result[1]) * 1000 + parseInt(result[2]);
    }
    ;
    if (ua.indexOf('opera') != -1) {
      return 'opera';
    }
     else if (ua.indexOf('webkit') != -1) {
      return 'safari';
    }
     else if (ua.indexOf('msie') != -1) {
      var result_0 = /msie ([0-9]+)\.([0-9]+)/.exec(ua);
      if (result_0 && result_0.length == 3) {
        if (makeVersion(result_0) >= 6000) {
          return 'ie6';
        }
      }
    }
     else if (ua.indexOf('gecko') != -1) {
      var result_0 = /rv:([0-9]+)\.([0-9]+)/.exec(ua);
      if (result_0 && result_0.length == 3) {
        if (makeVersion(result_0) >= 1008)
          return 'gecko1_8';
      }
      return 'gecko';
    }
    return 'unknown';
  }
  ;
  values['user.agent'] = {gecko:0, gecko1_8:1, ie6:2, opera:3, safari:4};
  net_i2geo_skillstextbox_SkillsTextBox.onScriptLoad = function(){
    if (frameInjected) {
      loadDone = true;
      maybeStartModule();
    }
  }
  ;
  net_i2geo_skillstextbox_SkillsTextBox.onInjectionDone = function(){
    scriptsDone = true;
    $stats && $stats({moduleName:'net.i2geo.skillstextbox.SkillsTextBox', subSystem:'startup', evtGroup:'loadExternalRefs', millis:(new Date()).getTime(), type:'end'});
    maybeStartModule();
  }
  ;
  computeScriptBase();
  processMetas();
  $stats && $stats({moduleName:'net.i2geo.skillstextbox.SkillsTextBox', subSystem:'startup', evtGroup:'bootstrap', millis:(new Date()).getTime(), type:'selectingPermutation'});
  var strongName;
  if (isHostedMode()) {
    strongName = 'hosted.html?net_i2geo_skillstextbox_SkillsTextBox';
  }
   else {
    try {
      unflattenKeylistIntoAnswers(['de', 'opera'], '629F95ADD9F07578CC9D252C86C4B851.cache.html');
      unflattenKeylistIntoAnswers(['default', 'opera'], 'A230ED751EC9C322E5DEC85C36BC3A64.cache.html');
      unflattenKeylistIntoAnswers(['en', 'opera'], '39245F748D90AA92D9C65BA7F8DA05DA.cache.html');
      unflattenKeylistIntoAnswers(['it', 'opera'], '1E2C108934C5C3D334DD86F8E26B2F9C.cache.html');
      unflattenKeylistIntoAnswers(['mk', 'opera'], '55C3F2127733777097963A7FD4615EFA.cache.html');
      unflattenKeylistIntoAnswers(['pt', 'opera'], '660A3CE26E4CEDBE91AFCA1C68A38825.cache.html');
      unflattenKeylistIntoAnswers(['ru', 'opera'], '4590A27986CB0C4DB7410ECEC4D2B60D.cache.html');
      unflattenKeylistIntoAnswers(['fr', 'opera'], '4388E873C4B69CE27055D1376B272CF6.cache.html');
      unflattenKeylistIntoAnswers(['es', 'opera'], 'B8DE5326C9BB89DBED90D2BBE9C8F76D.cache.html');
      unflattenKeylistIntoAnswers(['eu', 'opera'], '8C0A7D44541BF5845CEBA6DEF2BD8700.cache.html');
      unflattenKeylistIntoAnswers(['nl', 'opera'], '060C2AA1477598732CE5766FDD9A6E14.cache.html');
      unflattenKeylistIntoAnswers(['cs', 'opera'], 'F9A22ABC229A8B2DA2042243F8153A8E.cache.html');
      unflattenKeylistIntoAnswers(['de', 'ie6'], '9C5CD8480A4FE664CC1A8E8F376A2179.cache.html');
      unflattenKeylistIntoAnswers(['default', 'ie6'], 'C2D59C2DEB4D4D0386BF2BD7B0F5C8BB.cache.html');
      unflattenKeylistIntoAnswers(['en', 'ie6'], '23B7E572A5CEFA590AEB55B5AB76FDF2.cache.html');
      unflattenKeylistIntoAnswers(['it', 'ie6'], 'BE126BB4A06F04A8C21C26FE5F8A2369.cache.html');
      unflattenKeylistIntoAnswers(['mk', 'ie6'], '0D7DF8C6679AFE94062C253D11BAD75F.cache.html');
      unflattenKeylistIntoAnswers(['pt', 'ie6'], 'D7655F19AA7C8BB425B6FF1DF738242A.cache.html');
      unflattenKeylistIntoAnswers(['ru', 'ie6'], '02B2244A62FDFF911170CA7B8459149E.cache.html');
      unflattenKeylistIntoAnswers(['fr', 'ie6'], '9F42D4CA0D35F0784A6FBF544E0A4DEF.cache.html');
      unflattenKeylistIntoAnswers(['es', 'ie6'], 'FCCF7D8B0DCA4DF6BB7AB8147A15FB44.cache.html');
      unflattenKeylistIntoAnswers(['eu', 'ie6'], 'FD4FCD6CA9A94BD8E6354BE3585D7365.cache.html');
      unflattenKeylistIntoAnswers(['nl', 'ie6'], '8EB1EB9075D2B2F3D432572A49D3D0FE.cache.html');
      unflattenKeylistIntoAnswers(['cs', 'ie6'], 'B2A19FB4497CD8A238BA2AF72F15E0C9.cache.html');
      unflattenKeylistIntoAnswers(['de', 'gecko1_8'], 'E00871C583C0453984E8D076DA840280.cache.html');
      unflattenKeylistIntoAnswers(['default', 'gecko1_8'], 'B87B4CAF8FC13CE22E25B448E68CC1C3.cache.html');
      unflattenKeylistIntoAnswers(['en', 'gecko1_8'], 'C9C9069689EF741B0237B61CA9C2F533.cache.html');
      unflattenKeylistIntoAnswers(['it', 'gecko1_8'], '0D455A4BA04BBA125510F487B7D4D557.cache.html');
      unflattenKeylistIntoAnswers(['mk', 'gecko1_8'], '9523D660909DF48C166647128CBBFAD8.cache.html');
      unflattenKeylistIntoAnswers(['pt', 'gecko1_8'], '6F34729D4FDB5B5317F63A86992A7544.cache.html');
      unflattenKeylistIntoAnswers(['ru', 'gecko1_8'], '03889C7F3FB954DBC34796308E461C56.cache.html');
      unflattenKeylistIntoAnswers(['fr', 'gecko1_8'], '58F34383B2DD70719FF2017377D3137A.cache.html');
      unflattenKeylistIntoAnswers(['es', 'gecko1_8'], '856D287B47DD7D79A836D1CABA2573E3.cache.html');
      unflattenKeylistIntoAnswers(['eu', 'gecko1_8'], '3210B6C5F3EFE52BD9A120F23E859B4B.cache.html');
      unflattenKeylistIntoAnswers(['nl', 'gecko1_8'], '3C90DAAC6F37DB4AA561E9C2B0E60135.cache.html');
      unflattenKeylistIntoAnswers(['cs', 'gecko1_8'], 'D50A34597D1F4481F7BF486CB24C0F6F.cache.html');
      unflattenKeylistIntoAnswers(['de', 'gecko'], 'AF3DF6BC3EF60DFC258F09CAF808E147.cache.html');
      unflattenKeylistIntoAnswers(['default', 'gecko'], '9470FEF3B2C08D6B6615BBCC40BC8013.cache.html');
      unflattenKeylistIntoAnswers(['en', 'gecko'], 'D1DF629B4EF7560B785DAC9803FFA7D5.cache.html');
      unflattenKeylistIntoAnswers(['it', 'gecko'], '4B91F330679B86FE3122F72F6A73BD6C.cache.html');
      unflattenKeylistIntoAnswers(['mk', 'gecko'], '55247A87F14BE09A258FBDFDF5AAB116.cache.html');
      unflattenKeylistIntoAnswers(['pt', 'gecko'], '25CED424FFB287ECF1A4A43AB23EB133.cache.html');
      unflattenKeylistIntoAnswers(['ru', 'gecko'], '782446E45474F84E671D8AD55CB9BE69.cache.html');
      unflattenKeylistIntoAnswers(['fr', 'gecko'], 'F80CF28E0F02F8ACDDE52D18CCDC44EE.cache.html');
      unflattenKeylistIntoAnswers(['es', 'gecko'], 'D55256875652381447548C8F7221AF33.cache.html');
      unflattenKeylistIntoAnswers(['eu', 'gecko'], '227BFCAE2636B761E1F892CF9F204F45.cache.html');
      unflattenKeylistIntoAnswers(['nl', 'gecko'], 'D0994E6434DE1ACB601924595B515D00.cache.html');
      unflattenKeylistIntoAnswers(['cs', 'gecko'], '6022812B29F2AF91E10F2D9EE0CB59A1.cache.html');
      unflattenKeylistIntoAnswers(['de', 'safari'], 'E1AC0862D09BA468BFC86C00EC09694A.cache.html');
      unflattenKeylistIntoAnswers(['default', 'safari'], '5F2D3C69379EDC521528481AD28CDD89.cache.html');
      unflattenKeylistIntoAnswers(['en', 'safari'], 'B3A59DD8471CE683A1FECE0472AC902F.cache.html');
      unflattenKeylistIntoAnswers(['it', 'safari'], '399083860C3CF6A0F478D17FDF4D876F.cache.html');
      unflattenKeylistIntoAnswers(['mk', 'safari'], '539BFA0458389AB04AA0ACD48FEBF127.cache.html');
      unflattenKeylistIntoAnswers(['pt', 'safari'], '2E6002FA06D03E6C8099915F1F2BEC9D.cache.html');
      unflattenKeylistIntoAnswers(['ru', 'safari'], '072E93668C5251751E8DEB2D052EE3F6.cache.html');
      unflattenKeylistIntoAnswers(['fr', 'safari'], 'BB62806C7FE9AA06709812580915C8F5.cache.html');
      unflattenKeylistIntoAnswers(['es', 'safari'], '45BC913D66DB522E32BC27FDF8DD5399.cache.html');
      unflattenKeylistIntoAnswers(['eu', 'safari'], '5EDAEE6ADFEEA592D6C01F747A67A619.cache.html');
      unflattenKeylistIntoAnswers(['nl', 'safari'], 'BBE9A6A28EBA92E88CB35C795AFEBF57.cache.html');
      unflattenKeylistIntoAnswers(['cs', 'safari'], 'D9F001DE0BE041C28A3425067A91EBA7.cache.html');
      strongName = answers[computePropValue('locale')][computePropValue('user.agent')];
    }
     catch (e) {
      return;
    }
  }
  var onBodyDoneTimerId;
  function onBodyDone(){
    if (!bodyDone) {
      bodyDone = true;
      maybeStartModule();
      if ($doc_0.removeEventListener) {
        $doc_0.removeEventListener('DOMContentLoaded', onBodyDone, false);
      }
      if (onBodyDoneTimerId) {
        clearInterval(onBodyDoneTimerId);
      }
    }
  }

  if ($doc_0.addEventListener) {
    $doc_0.addEventListener('DOMContentLoaded', function(){
      maybeInjectFrame();
      onBodyDone();
    }
    , false);
  }
  var onBodyDoneTimerId = setInterval(function(){
    if (/loaded|complete/.test($doc_0.readyState)) {
      maybeInjectFrame();
      onBodyDone();
    }
  }
  , 50);
  $stats && $stats({moduleName:'net.i2geo.skillstextbox.SkillsTextBox', subSystem:'startup', evtGroup:'bootstrap', millis:(new Date()).getTime(), type:'end'});
  $stats && $stats({moduleName:'net.i2geo.skillstextbox.SkillsTextBox', subSystem:'startup', evtGroup:'loadExternalRefs', millis:(new Date()).getTime(), type:'begin'});
  $doc_0.write('<script defer="defer">net_i2geo_skillstextbox_SkillsTextBox.onInjectionDone(\'net.i2geo.skillstextbox.SkillsTextBox\')<\/script>');
}

net_i2geo_skillstextbox_SkillsTextBox.__gwt_initHandlers = function(resize, beforeunload, unload){
  var $wnd_0 = window, oldOnResize = $wnd_0.onresize, oldOnBeforeUnload = $wnd_0.onbeforeunload, oldOnUnload = $wnd_0.onunload;
  $wnd_0.onresize = function(evt){
    try {
      resize();
    }
     finally {
      oldOnResize && oldOnResize(evt);
    }
  }
  ;
  $wnd_0.onbeforeunload = function(evt){
    var ret, oldRet;
    try {
      ret = beforeunload();
    }
     finally {
      oldRet = oldOnBeforeUnload && oldOnBeforeUnload(evt);
    }
    if (ret != null) {
      return ret;
    }
    if (oldRet != null) {
      return oldRet;
    }
  }
  ;
  $wnd_0.onunload = function(evt){
    try {
      unload();
    }
     finally {
      oldOnUnload && oldOnUnload(evt);
      $wnd_0.onresize = null;
      $wnd_0.onbeforeunload = null;
      $wnd_0.onunload = null;
    }
  }
  ;
}
;
net_i2geo_skillstextbox_SkillsTextBox();
