'use strict';

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

function _jade_template_fn(locals) {
  locals = locals || {};;;
  var result_of_with = function ($attrs, $controller, $helpers, Array, Object, String) {
    var h = require('panel').h;
    var jade_mixins = {};
    jade_mixins['list-option-label'] = function (item) {
      var block = this && this.block,
          attributes = this && this.attributes || {};

      return function () {
        var __jade_nodes = [];
        __jade_nodes = __jade_nodes.concat(h("div", {
          "class": {
            'option-label-section': true
          }
        }, function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(h("div", {
            "attrs": {
              title: item.label
            },
            "class": Object.assign({}, {
              'theme-strong': item.labelTheme === 'strong'
            }, {
              'option-label': true
            })
          }, function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat(item.matches ? function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(function () {
                var $$obj = item.matches;
                var $$eachNodes;
                var $$iterated = false;
                if (Array.isArray($$obj)) {
                  $$eachNodes = $$obj.reduce(function ($$eachNodes, substr, si) {
                    $$iterated = true;
                    return $$eachNodes.concat(function () {
                      var __jade_nodes = [];
                      __jade_nodes = __jade_nodes.concat(h("span", {
                        "class": Object.assign({}, {
                          'matches-search': !(si % 2)
                        }, {
                          'substr': true
                        })
                      }, [__vjadeSafeCode(substr)]));;
                      return __jade_nodes;
                    }.call(this));
                  }, []);
                } else {
                  $$eachNodes = [];
                  for (var $$objKey in $$obj) {
                    (function () {
                      var si = $$objKey;
                      if ($$obj.hasOwnProperty(si)) {
                        $$iterated = true;
                        var substr = $$obj[si];
                        $$eachNodes = $$eachNodes.concat(function () {
                          var __jade_nodes = [];
                          __jade_nodes = __jade_nodes.concat(h("span", {
                            "class": Object.assign({}, {
                              'matches-search': !(si % 2)
                            }, {
                              'substr': true
                            })
                          }, [__vjadeSafeCode(substr)]));;
                          return __jade_nodes;
                        }.call(this));
                      }
                    })();
                  }
                }

                return $$eachNodes;
              }());;
              return __jade_nodes;
            }.call(this) : function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(h("span", {
                "class": {
                  'label': true
                }
              }, [__vjadeSafeCode(item.label)]));;
              return __jade_nodes;
            }.call(this));;
            return __jade_nodes;
          }.call(this).filter(Boolean)));
          __jade_nodes = __jade_nodes.concat(item.subLabel ? function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat(h("div", {
              "attrs": {
                title: item.subLabel
              },
              "class": Object.assign({}, {
                'truncate': !item.wrapSubLabel
              }, {
                'option-sub-label': true
              })
            }, [__vjadeSafeCode(item.subLabel)]));;
            return __jade_nodes;
          }.call(this) : undefined);;
          return __jade_nodes;
        }.call(this).filter(Boolean)));;
        return __jade_nodes;
      }.call(this);
    };

    jade_mixins['list-option-icon'] = function (item) {
      var block = this && this.block,
          attributes = this && this.attributes || {};

      return function () {
        var __jade_nodes = [];
        __jade_nodes = __jade_nodes.concat(item.icon ? function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(h("div", {
            "attrs": {
              icon: item.icon
            },
            "class": Object.assign({}, _defineProperty({}, 'align-' + (item.iconSide || 'left'), true), {
              'option-icon': true
            })
          }, function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat(h("svg-icon", {
              "attrs": {
                icon: item.icon,
                empty: !item.icon
              }
            }));;
            return __jade_nodes;
          }.call(this).filter(Boolean)));;
          return __jade_nodes;
        }.call(this) : undefined);;
        return __jade_nodes;
      }.call(this);
    };

    jade_mixins['list-option-action'] = function (item, isFocused, isPillFocused) {
      var block = this && this.block,
          attributes = this && this.attributes || {};

      return function () {
        var __jade_nodes = [];
        __jade_nodes = __jade_nodes.concat(item.hasPill ? function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(h("div", {
            "on": {
              click: !item.isPillDisabled ? function (ev) {
                return $helpers.handleClickPill(item, ev);
              } : null,
              mouseenter: function mouseenter() {
                return $controller.handleMouseenterPill(item);
              },
              mouseleave: function mouseleave() {
                return $controller.handleMouseleavePill(item);
              }
            },
            "class": Object.assign({}, {
              focused: isFocused && isPillFocused,
              disabled: item.isPillDisabled
            }, {
              'secondary-action': true,
              'pill': true
            })
          }, function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat(h("span", [__vjadeSafeCode(item.pillLabel)]));
            __jade_nodes = __jade_nodes.concat(h("div", {
              "class": {
                'pill-caret': true
              }
            }, function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(h("svg-icon", {
                "attrs": {
                  icon: 'caret-right'
                }
              }));;
              return __jade_nodes;
            }.call(this).filter(Boolean)));;
            return __jade_nodes;
          }.call(this).filter(Boolean)));;
          return __jade_nodes;
        }.call(this) : item.hasCaret ? function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(h("div", {
            "class": {
              'secondary-action': true,
              'caret': true
            }
          }, function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat(h("svg-icon", {
              "attrs": {
                icon: 'caret-right'
              }
            }));;
            return __jade_nodes;
          }.call(this).filter(Boolean)));;
          return __jade_nodes;
        }.call(this) : undefined);;
        return __jade_nodes;
      }.call(this);
    };

    jade_mixins['list-option-content'] = function (item, isFocused, isPillFocused) {
      var block = this && this.block,
          attributes = this && this.attributes || {};

      return function () {
        var __jade_nodes = [];
        __jade_nodes = __jade_nodes.concat(jade_mixins['list-option-icon'].call(this, item));
        __jade_nodes = __jade_nodes.concat(jade_mixins['list-option-label'].call(this, item));
        __jade_nodes = __jade_nodes.concat(jade_mixins['list-option-action'].call(this, item, isFocused, isPillFocused));;
        return __jade_nodes;
      }.call(this);
    };

    var __vjadeSafeCode = function __vjadeSafeCode(code) {
      return code || String(code);
    };
    return {
      value: h("div", {
        "attrs": {
          tabindex: 0
        },
        "hook": {
          postpatch: function postpatch() {
            return $controller.handlePostPatch();
          }
        },
        "class": {
          'screen-list-container': true
        }
      }, function () {
        var __jade_nodes = [];

        var _$controller$getDispl = $controller.getDisplayState(),
            emptyMessage = _$controller$getDispl.emptyMessage,
            focusedItemIndex = _$controller$getDispl.focusedItemIndex,
            isPillFocused = _$controller$getDispl.isPillFocused,
            searchFilter = _$controller$getDispl.searchFilter,
            sections = _$controller$getDispl.sections,
            sectionsHint = _$controller$getDispl.sectionsHint;

        __jade_nodes = __jade_nodes.concat(!sections.length ? function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(searchFilter ? function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat(h("li", {
              "class": {
                'list-option': true,
                'list-empty': true
              }
            }, function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat("Your search returned no results");;
              return __jade_nodes;
            }.call(this).filter(Boolean)));;
            return __jade_nodes;
          }.call(this) : emptyMessage ? function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat(h("li", {
              "class": {
                'list-option': true,
                'list-empty': true
              }
            }, [__vjadeSafeCode(emptyMessage)]));;
            return __jade_nodes;
          }.call(this) : undefined);;
          return __jade_nodes;
        }.call(this) : function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(sectionsHint ? function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat(h("div", {
              "class": {
                'sections-hint': true
              }
            }, [__vjadeSafeCode(sectionsHint)]));;
            return __jade_nodes;
          }.call(this) : undefined);
          __jade_nodes = __jade_nodes.concat(function () {
            var $$obj = sections;
            var $$eachNodes;
            var $$iterated = false;
            if (Array.isArray($$obj)) {
              $$eachNodes = $$obj.reduce(function ($$eachNodes, section, idx) {
                $$iterated = true;
                return $$eachNodes.concat(function () {
                  var __jade_nodes = [];
                  __jade_nodes = __jade_nodes.concat(idx > 0 ? function () {
                    var __jade_nodes = [];
                    __jade_nodes = __jade_nodes.concat(h("div", {
                      "class": {
                        'section-divider': true
                      }
                    }));;
                    return __jade_nodes;
                  }.call(this) : undefined);
                  __jade_nodes = __jade_nodes.concat(section.label ? function () {
                    var __jade_nodes = [];
                    __jade_nodes = __jade_nodes.concat(h("div", {
                      "class": {
                        'section-label': true
                      }
                    }, function () {
                      var __jade_nodes = [];
                      __jade_nodes = __jade_nodes.concat(h("span", {
                        "class": {
                          'label': true
                        }
                      }, [__vjadeSafeCode(section.label)]));
                      __jade_nodes = __jade_nodes.concat(section.datasetDisplayName ? function () {
                        var __jade_nodes = [];
                        __jade_nodes = __jade_nodes.concat(h("span", {
                          "class": {
                            'dataset-name': true
                          }
                        }, [__vjadeSafeCode(section.datasetDisplayName)]));;
                        return __jade_nodes;
                      }.call(this) : undefined);;
                      return __jade_nodes;
                    }.call(this).filter(Boolean)));;
                    return __jade_nodes;
                  }.call(this) : undefined);
                  __jade_nodes = __jade_nodes.concat(section.isLoading ? function () {
                    var __jade_nodes = [];
                    __jade_nodes = __jade_nodes.concat(h("div", {
                      "class": {
                        'loading-items': true
                      }
                    }, function () {
                      var __jade_nodes = [];
                      __jade_nodes = __jade_nodes.concat(h("mp-spinner"));;
                      return __jade_nodes;
                    }.call(this).filter(Boolean)));;
                    return __jade_nodes;
                  }.call(this) : function () {
                    var __jade_nodes = [];
                    __jade_nodes = __jade_nodes.concat(h("ul", {
                      "class": {
                        'screen-options-list': true
                      }
                    }, function () {
                      var __jade_nodes = [];
                      __jade_nodes = __jade_nodes.concat(function () {
                        var $$obj = section.items;
                        var $$eachNodes;
                        var $$iterated = false;
                        if (Array.isArray($$obj)) {
                          $$eachNodes = $$obj.reduce(function ($$eachNodes, item, $index) {
                            $$iterated = true;
                            return $$eachNodes.concat(function () {
                              var _Object$assign2;

                              var __jade_nodes = [];
                              var isFocused = focusedItemIndex === item.index;
                              var optionType = $attrs['multiple'] ? 'multiple' : 'select';;
                              __jade_nodes = __jade_nodes.concat(h("li", {
                                "on": {
                                  click: !item.isDisabled ? function (ev) {
                                    return $helpers.handleClickItem(item, ev);
                                  } : null,
                                  mouseenter: function mouseenter() {
                                    return $controller.handleMouseenterItem(item);
                                  }
                                },
                                "class": Object.assign({}, (_Object$assign2 = {}, _defineProperty(_Object$assign2, 'for-' + optionType + '-type', true), _defineProperty(_Object$assign2, 'disabled', item.isDisabled), _defineProperty(_Object$assign2, 'expander', item.isExpander), _defineProperty(_Object$assign2, 'focused', isFocused), _defineProperty(_Object$assign2, 'selectable', !item.isDisabled), _defineProperty(_Object$assign2, 'selected', item.isSelected), _Object$assign2), {
                                  'list-option': true
                                })
                              }, function () {
                                var __jade_nodes = [];
                                __jade_nodes = __jade_nodes.concat($attrs['multiple'] && !item.isExpander ? function () {
                                  var __jade_nodes = [];
                                  __jade_nodes = __jade_nodes.concat(h("mp-checkbox", {
                                    "attrs": {
                                      checked: item.isSelected,
                                      disabled: item.isDisabled,
                                      focused: isFocused
                                    }
                                  }, function () {
                                    var __jade_nodes = [];
                                    __jade_nodes = __jade_nodes.concat(jade_mixins['list-option-content'].call(this, item, isFocused, isPillFocused));;
                                    return __jade_nodes;
                                  }.call(this).filter(Boolean)));;
                                  return __jade_nodes;
                                }.call(this) : function () {
                                  var __jade_nodes = [];
                                  __jade_nodes = __jade_nodes.concat(jade_mixins['list-option-content'].call(this, item, isFocused, isPillFocused));;
                                  return __jade_nodes;
                                }.call(this));;
                                return __jade_nodes;
                              }.call(this).filter(Boolean)));;
                              return __jade_nodes;
                            }.call(this));
                          }, []);
                        } else {
                          $$eachNodes = [];
                          for (var $$objKey in $$obj) {
                            (function () {
                              var $index = $$objKey;
                              if ($$obj.hasOwnProperty($index)) {
                                $$iterated = true;
                                var item = $$obj[$index];
                                $$eachNodes = $$eachNodes.concat(function () {
                                  var _Object$assign3;

                                  var __jade_nodes = [];
                                  var isFocused = focusedItemIndex === item.index;
                                  var optionType = $attrs['multiple'] ? 'multiple' : 'select';;
                                  __jade_nodes = __jade_nodes.concat(h("li", {
                                    "on": {
                                      click: !item.isDisabled ? function (ev) {
                                        return $helpers.handleClickItem(item, ev);
                                      } : null,
                                      mouseenter: function mouseenter() {
                                        return $controller.handleMouseenterItem(item);
                                      }
                                    },
                                    "class": Object.assign({}, (_Object$assign3 = {}, _defineProperty(_Object$assign3, 'for-' + optionType + '-type', true), _defineProperty(_Object$assign3, 'disabled', item.isDisabled), _defineProperty(_Object$assign3, 'expander', item.isExpander), _defineProperty(_Object$assign3, 'focused', isFocused), _defineProperty(_Object$assign3, 'selectable', !item.isDisabled), _defineProperty(_Object$assign3, 'selected', item.isSelected), _Object$assign3), {
                                      'list-option': true
                                    })
                                  }, function () {
                                    var __jade_nodes = [];
                                    __jade_nodes = __jade_nodes.concat($attrs['multiple'] && !item.isExpander ? function () {
                                      var __jade_nodes = [];
                                      __jade_nodes = __jade_nodes.concat(h("mp-checkbox", {
                                        "attrs": {
                                          checked: item.isSelected,
                                          disabled: item.isDisabled,
                                          focused: isFocused
                                        }
                                      }, function () {
                                        var __jade_nodes = [];
                                        __jade_nodes = __jade_nodes.concat(jade_mixins['list-option-content'].call(this, item, isFocused, isPillFocused));;
                                        return __jade_nodes;
                                      }.call(this).filter(Boolean)));;
                                      return __jade_nodes;
                                    }.call(this) : function () {
                                      var __jade_nodes = [];
                                      __jade_nodes = __jade_nodes.concat(jade_mixins['list-option-content'].call(this, item, isFocused, isPillFocused));;
                                      return __jade_nodes;
                                    }.call(this));;
                                    return __jade_nodes;
                                  }.call(this).filter(Boolean)));;
                                  return __jade_nodes;
                                }.call(this));
                              }
                            })();
                          }
                        }

                        return $$eachNodes;
                      }());;
                      return __jade_nodes;
                    }.call(this).filter(Boolean)));;
                    return __jade_nodes;
                  }.call(this));;
                  return __jade_nodes;
                }.call(this));
              }, []);
            } else {
              $$eachNodes = [];
              for (var $$objKey in $$obj) {
                (function () {
                  var idx = $$objKey;
                  if ($$obj.hasOwnProperty(idx)) {
                    $$iterated = true;
                    var section = $$obj[idx];
                    $$eachNodes = $$eachNodes.concat(function () {
                      var __jade_nodes = [];
                      __jade_nodes = __jade_nodes.concat(idx > 0 ? function () {
                        var __jade_nodes = [];
                        __jade_nodes = __jade_nodes.concat(h("div", {
                          "class": {
                            'section-divider': true
                          }
                        }));;
                        return __jade_nodes;
                      }.call(this) : undefined);
                      __jade_nodes = __jade_nodes.concat(section.label ? function () {
                        var __jade_nodes = [];
                        __jade_nodes = __jade_nodes.concat(h("div", {
                          "class": {
                            'section-label': true
                          }
                        }, function () {
                          var __jade_nodes = [];
                          __jade_nodes = __jade_nodes.concat(h("span", {
                            "class": {
                              'label': true
                            }
                          }, [__vjadeSafeCode(section.label)]));
                          __jade_nodes = __jade_nodes.concat(section.datasetDisplayName ? function () {
                            var __jade_nodes = [];
                            __jade_nodes = __jade_nodes.concat(h("span", {
                              "class": {
                                'dataset-name': true
                              }
                            }, [__vjadeSafeCode(section.datasetDisplayName)]));;
                            return __jade_nodes;
                          }.call(this) : undefined);;
                          return __jade_nodes;
                        }.call(this).filter(Boolean)));;
                        return __jade_nodes;
                      }.call(this) : undefined);
                      __jade_nodes = __jade_nodes.concat(section.isLoading ? function () {
                        var __jade_nodes = [];
                        __jade_nodes = __jade_nodes.concat(h("div", {
                          "class": {
                            'loading-items': true
                          }
                        }, function () {
                          var __jade_nodes = [];
                          __jade_nodes = __jade_nodes.concat(h("mp-spinner"));;
                          return __jade_nodes;
                        }.call(this).filter(Boolean)));;
                        return __jade_nodes;
                      }.call(this) : function () {
                        var __jade_nodes = [];
                        __jade_nodes = __jade_nodes.concat(h("ul", {
                          "class": {
                            'screen-options-list': true
                          }
                        }, function () {
                          var __jade_nodes = [];
                          __jade_nodes = __jade_nodes.concat(function () {
                            var $$obj = section.items;
                            var $$eachNodes;
                            var $$iterated = false;
                            if (Array.isArray($$obj)) {
                              $$eachNodes = $$obj.reduce(function ($$eachNodes, item, $index) {
                                $$iterated = true;
                                return $$eachNodes.concat(function () {
                                  var _Object$assign4;

                                  var __jade_nodes = [];
                                  var isFocused = focusedItemIndex === item.index;
                                  var optionType = $attrs['multiple'] ? 'multiple' : 'select';;
                                  __jade_nodes = __jade_nodes.concat(h("li", {
                                    "on": {
                                      click: !item.isDisabled ? function (ev) {
                                        return $helpers.handleClickItem(item, ev);
                                      } : null,
                                      mouseenter: function mouseenter() {
                                        return $controller.handleMouseenterItem(item);
                                      }
                                    },
                                    "class": Object.assign({}, (_Object$assign4 = {}, _defineProperty(_Object$assign4, 'for-' + optionType + '-type', true), _defineProperty(_Object$assign4, 'disabled', item.isDisabled), _defineProperty(_Object$assign4, 'expander', item.isExpander), _defineProperty(_Object$assign4, 'focused', isFocused), _defineProperty(_Object$assign4, 'selectable', !item.isDisabled), _defineProperty(_Object$assign4, 'selected', item.isSelected), _Object$assign4), {
                                      'list-option': true
                                    })
                                  }, function () {
                                    var __jade_nodes = [];
                                    __jade_nodes = __jade_nodes.concat($attrs['multiple'] && !item.isExpander ? function () {
                                      var __jade_nodes = [];
                                      __jade_nodes = __jade_nodes.concat(h("mp-checkbox", {
                                        "attrs": {
                                          checked: item.isSelected,
                                          disabled: item.isDisabled,
                                          focused: isFocused
                                        }
                                      }, function () {
                                        var __jade_nodes = [];
                                        __jade_nodes = __jade_nodes.concat(jade_mixins['list-option-content'].call(this, item, isFocused, isPillFocused));;
                                        return __jade_nodes;
                                      }.call(this).filter(Boolean)));;
                                      return __jade_nodes;
                                    }.call(this) : function () {
                                      var __jade_nodes = [];
                                      __jade_nodes = __jade_nodes.concat(jade_mixins['list-option-content'].call(this, item, isFocused, isPillFocused));;
                                      return __jade_nodes;
                                    }.call(this));;
                                    return __jade_nodes;
                                  }.call(this).filter(Boolean)));;
                                  return __jade_nodes;
                                }.call(this));
                              }, []);
                            } else {
                              $$eachNodes = [];
                              for (var $$objKey in $$obj) {
                                (function () {
                                  var $index = $$objKey;
                                  if ($$obj.hasOwnProperty($index)) {
                                    $$iterated = true;
                                    var item = $$obj[$index];
                                    $$eachNodes = $$eachNodes.concat(function () {
                                      var _Object$assign5;

                                      var __jade_nodes = [];
                                      var isFocused = focusedItemIndex === item.index;
                                      var optionType = $attrs['multiple'] ? 'multiple' : 'select';;
                                      __jade_nodes = __jade_nodes.concat(h("li", {
                                        "on": {
                                          click: !item.isDisabled ? function (ev) {
                                            return $helpers.handleClickItem(item, ev);
                                          } : null,
                                          mouseenter: function mouseenter() {
                                            return $controller.handleMouseenterItem(item);
                                          }
                                        },
                                        "class": Object.assign({}, (_Object$assign5 = {}, _defineProperty(_Object$assign5, 'for-' + optionType + '-type', true), _defineProperty(_Object$assign5, 'disabled', item.isDisabled), _defineProperty(_Object$assign5, 'expander', item.isExpander), _defineProperty(_Object$assign5, 'focused', isFocused), _defineProperty(_Object$assign5, 'selectable', !item.isDisabled), _defineProperty(_Object$assign5, 'selected', item.isSelected), _Object$assign5), {
                                          'list-option': true
                                        })
                                      }, function () {
                                        var __jade_nodes = [];
                                        __jade_nodes = __jade_nodes.concat($attrs['multiple'] && !item.isExpander ? function () {
                                          var __jade_nodes = [];
                                          __jade_nodes = __jade_nodes.concat(h("mp-checkbox", {
                                            "attrs": {
                                              checked: item.isSelected,
                                              disabled: item.isDisabled,
                                              focused: isFocused
                                            }
                                          }, function () {
                                            var __jade_nodes = [];
                                            __jade_nodes = __jade_nodes.concat(jade_mixins['list-option-content'].call(this, item, isFocused, isPillFocused));;
                                            return __jade_nodes;
                                          }.call(this).filter(Boolean)));;
                                          return __jade_nodes;
                                        }.call(this) : function () {
                                          var __jade_nodes = [];
                                          __jade_nodes = __jade_nodes.concat(jade_mixins['list-option-content'].call(this, item, isFocused, isPillFocused));;
                                          return __jade_nodes;
                                        }.call(this));;
                                        return __jade_nodes;
                                      }.call(this).filter(Boolean)));;
                                      return __jade_nodes;
                                    }.call(this));
                                  }
                                })();
                              }
                            }

                            return $$eachNodes;
                          }());;
                          return __jade_nodes;
                        }.call(this).filter(Boolean)));;
                        return __jade_nodes;
                      }.call(this));;
                      return __jade_nodes;
                    }.call(this));
                  }
                })();
              }
            }

            return $$eachNodes;
          }());;
          return __jade_nodes;
        }.call(this));;
        return __jade_nodes;
      }.call(this).filter(Boolean))
    };
  }.call(this, "$attrs" in locals ? locals.$attrs : typeof $attrs !== "undefined" ? $attrs : undefined, "$controller" in locals ? locals.$controller : typeof $controller !== "undefined" ? $controller : undefined, "$helpers" in locals ? locals.$helpers : typeof $helpers !== "undefined" ? $helpers : undefined, "Array" in locals ? locals.Array : typeof Array !== "undefined" ? Array : undefined, "Object" in locals ? locals.Object : typeof Object !== "undefined" ? Object : undefined, "String" in locals ? locals.String : typeof String !== "undefined" ? String : undefined);
  if (result_of_with) return result_of_with.value;
}
module.exports = _jade_template_fn;